{"id":35439,"date":"2019-10-31T22:04:21","date_gmt":"2019-10-31T19:04:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/device-manager-prodlit-mis-do-ustrojstv\/"},"modified":"2019-10-31T22:04:21","modified_gmt":"2019-10-31T19:04:21","slug":"device-manager-prodlit-mis-do-ustrojstv","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv","title":{"rendered":"Gestore dispositivi. Estendere il sistema informatico medico fino ai dispositivi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Gestore dispositivi. Estendere il sistema informatico medico fino ai dispositivi\" src=\"\/wp-content\/uploads\/2019\/06\/719d6cc98f349e800fa494c2589e9b5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIn un centro medico automatizzato vengono utilizzati numerosi dispositivi diversi, il cui funzionamento deve essere gestito dal sistema informativo sanitario (MIS), e anche dispositivi che non ricevono comandi, ma devono trasmettere i risultati del loro lavoro al MIS. Tuttavia, tutti i dispositivi presentano diverse opzioni di collegamento (USB, RS-232, Ethernet, ecc.) e modalit\u00e0 di interazione. Supportarli tutti nel MIS \u00e8 praticamente impossibile, pertanto \u00e8 stata sviluppata una strato software chiamato DeviceManager (DM), che offre al MIS un'interfaccia unica per inviare comandi ai dispositivi e ricevere risultati.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"Gestore dispositivi. Estendere il sistema informatico medico fino ai dispositivi\" src=\"\/wp-content\/uploads\/2019\/06\/ffa0f6875047c11b9493c3c87955f551.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPer aumentare l'affidabilit\u00e0 del sistema, il DM \u00e8 stato suddiviso in un insieme di programmi distribuiti sui computer del centro medico. Il DM \u00e8 composto da un programma principale e da un insieme di plugin che gestiscono l'interazione con un dispositivo specifico e inviano dati al MIS. Nella figura sottostante \u00e8 mostrata una struttura generale di interazione tra DeviceManager, MIS e dispositivi.<\/p>\n<p><img decoding=\"async\" alt=\"Gestore dispositivi. Estendere il sistema informatico medico fino ai dispositivi\" src=\"\/wp-content\/uploads\/2019\/06\/5287c9272965a4bc62b846be655d6a0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nNella struttura di interazione tra il MIS e il DeviceManager sono mostrati 3 modi di operare dei plugin:<\/p>\n<ol>\n<li>Il plugin non riceve dati dal MIS e invia i dati elaborati dal dispositivo nel formato comprensibile per esso (corrisponde al dispositivo di tipo 3 nella figura sopra).<\/li>\n<li>Il plugin riceve dal MIS un compito breve (in termini di tempo di esecuzione), ad esempio, stampare su una stampante o scansionare un'immagine, lo esegue e invia il risultato in risposta alla richiesta (corrisponde al dispositivo di tipo 1 nella figura sopra).<\/li>\n<li>Il plugin riceve dal MIS un compito lungo, ad esempio, eseguire un esame o misurare parametri, e risponde con lo stato di accettazione del compito (la richiesta potrebbe essere rifiutata a causa di un errore nella richiesta). Dopo aver completato il compito, i risultati vengono convertiti in un formato comprensibile per il MIS e caricati nelle interfacce corrispondenti al loro tipo (corrisponde al dispositivo di tipo 2 nella figura sopra).<\/li>\n<\/ol>\n<p>\nIl programma principale del DM avvia, inizializza, riavvia in caso di arresto anomalo e termina tutti i plugin al termine del lavoro. La composizione dei plugin su ogni computer \u00e8 unica e vengono avviati solo quelli necessari, come indicato nelle impostazioni. <\/p>\n<p>Ogni plugin \u00e8 un programma autonomo che interagisce con il programma principale. Questa definizione di plugin consente di garantire un funzionamento pi\u00f9 stabile, grazie all'indipendenza di tutte le istanze di plugin e del programma principale nella gestione degli errori (se si verifica un errore critico che causa il crash del plugin, questo non avr\u00e0 effetto sugli altri plugin e sul programma principale). Un plugin consente di interagire con dispositivi di un certo tipo (spesso dello stesso modello), e alcune istanze di plugin possono interagire solo con un dispositivo, mentre altre possono interagire con pi\u00f9 dispositivi. Per collegare pi\u00f9 dispositivi dello stesso tipo a un DM si utilizza l'avvio di pi\u00f9 istanze di uno stesso plugin.<\/p>\n<p><img decoding=\"async\" alt=\"Gestore dispositivi. Estendere il sistema informatico medico fino ai dispositivi\" src=\"\/wp-content\/uploads\/2019\/06\/38fad3da8094e7e0090e65cd0d8c39b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPer lo sviluppo di DM \u00e8 stato utilizzato l'ambiente Qt, poich\u00e9 consente, nella maggior parte dei casi, di astrarsi dal sistema operativo specifico. Ci\u00f2 ha permesso di supportare il funzionamento su computer con Windows, Linux e MacOS, oltre che su schede Raspberry. L'unica limitazione nella scelta del sistema operativo per lo sviluppo dei plugin \u00e8 la disponibilit\u00e0 di driver e\/o software specifico per il dispositivo in concreto.<\/p>\n<p>L'interazione tra i plugin e il programma principale avviene tramite un QLocalSocket sempre attivo con il nome specifico dell'istanza del plugin, secondo il protocollo da noi creato. L'implementazione del protocollo di comunicazione da entrambi i lati \u00e8 stata realizzata sotto forma di libreria dinamica, consentendo ad altre aziende di sviluppare alcuni plugin senza rivelare completamente l'interazione con il programma principale. La logica interna del funzionamento del socket locale consente al programma principale di sapere immediatamente di un'uscita, tramite un segnale di interruzione della connessione. Al verificarsi di tale segnale, avviene il riavvio del plugin problematico, permettendo una gestione delle situazioni critiche pi\u00f9 fluida.<\/p>\n<p>\u00c8 stata presa la decisione di basare l'interazione tra il MIS e il DM sul protocollo HTTP, poich\u00e9 il MIS \u00e8 basato su <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"Web server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"751\">Web server<\/a>, in cui \u00e8 pi\u00f9 semplice inviare e ricevere richieste tramite tale protocollo. Inoltre, \u00e8 possibile distinguere i problemi che potrebbero sorgere durante l'impostazione o l'esecuzione dei compiti da parte dei dispositivi sulla base dei codici di risposta. <\/p>\n<p>Negli articoli successivi verr\u00e0 esaminato il funzionamento del DM e di alcuni plugin attraverso l'esempio di diversi uffici del centro diagnostico.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/inobitec\/blog\/456498\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u043c \u0446\u0435\u043d\u0442\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u0438\u0431\u043e\u0440\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u043e\u043b\u0436\u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 (\u041c\u0418\u0421), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434, \u043d\u043e \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u041c\u0418\u0421. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u0441\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u044e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f (USB, RS-232, Ethernet \u0438 \u0442.\u0434.) \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043d\u0438\u043c\u0438. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0438\u0445 \u0432\u0441\u0435 \u0432 \u041c\u0418\u0421 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26586,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\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\/it\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\udd47Device Manager. \u041f\u0440\u043e\u0434\u043b\u0438\u0442\u044c \u041c\u0418\u0421 \u0434\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv\" \/>\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-31T19:04:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:04:21+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\udd47Gestore Dispositivi. Estendi MYS alle apparecchiature | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\udd47Device Manager. \u041f\u0440\u043e\u0434\u043b\u0438\u0442\u044c \u041c\u0418\u0421 \u0434\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 | ProHoster","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv","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-31T19:04:21+00:00","article:modified_time":"2019-10-31T19:04:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35439","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-02-08 20:32:41","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:58:12","updated":"2026-02-08 20:32:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/35439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=35439"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/35439\/revisions"}],"predecessor-version":[{"id":157942,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/35439\/revisions\/157942"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/26586"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=35439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=35439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=35439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}