{"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\/sv\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv","title":{"rendered":"Enhetshanteraren. F\u00f6rl\u00e4nga MIS till enheter","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Enhetshanteraren. F\u00f6rl\u00e4nga MIS till enheter\" src=\"\/wp-content\/uploads\/2019\/06\/719d6cc98f349e800fa494c2589e9b5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nI det automatiserade medicinska centret anv\u00e4nds m\u00e5nga olika enheter vars arbete m\u00e5ste styras av det medicinska informationssystemet (MIS), samt enheter som inte tar emot kommandon men m\u00e5ste \u00f6verf\u00f6ra resultaten av sitt arbete till MIS. Emellertid har alla enheter olika anslutningsalternativ (USB, RS-232, Ethernet etc.) och s\u00e4tt att interagera med dem. Att st\u00f6dja dem alla i MIS \u00e4r praktiskt taget om\u00f6jligt, d\u00e4rf\u00f6r har en programvarulager, DeviceManager (DM), utvecklats som erbjuder ett enhetligt gr\u00e4nssnitt f\u00f6r MIS f\u00f6r att st\u00e4lla upp uppgifter f\u00f6r enheterna och f\u00e5 resultat.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"Enhetshanteraren. F\u00f6rl\u00e4nga MIS till enheter\" src=\"\/wp-content\/uploads\/2019\/06\/ffa0f6875047c11b9493c3c87955f551.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nF\u00f6r att \u00f6ka systemets drifts\u00e4kerhet har DM delats upp i en upps\u00e4ttning program som placeras p\u00e5 datorer i det medicinska centret. DM delas upp i ett huvudprogram och en upps\u00e4ttning plugins som utf\u00f6r interaktionen med den specifika enheten och skickar data till MIS. Nedan visas en sammanfattande struktur f\u00f6r interaktionen med DeviceManager, MIS och enheterna.<\/p>\n<p><img decoding=\"async\" alt=\"Enhetshanteraren. F\u00f6rl\u00e4nga MIS till enheter\" src=\"\/wp-content\/uploads\/2019\/06\/5287c9272965a4bc62b846be655d6a0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nI strukturen f\u00f6r interaktionen mellan MIS och DeviceManager visas 3 alternativ f\u00f6r pluginernas arbete:<\/p>\n<ol>\n<li>Pluginet tar emot inga data fr\u00e5n MIS och skickar de omformaterade data fr\u00e5n enheten i ett format som den f\u00f6rst\u00e5r (motsvarar en enhet av typ 3 i bilden ovan).<\/li>\n<li>Pluginet f\u00e5r en kort (tidsm\u00e4ssig) uppgift fr\u00e5n MIS, till exempel att skriva ut p\u00e5 skrivaren eller skanna en bild, utf\u00f6r den och skickar resultatet som svar p\u00e5 beg\u00e4ran (motsvarar en enhet av typ 1 i bilden ovan).<\/li>\n<li>Pluginet f\u00e5r en l\u00e5ngvarig uppgift fr\u00e5n MIS, till exempel att genomf\u00f6ra en unders\u00f6kning eller m\u00e4ta indikatorer, och skickar status f\u00f6r uppdragets mottagande som svar (en beg\u00e4ran kan avvisas vid fel i beg\u00e4ran). Efter att uppgiften slutf\u00f6rts omvandlas resultaten till ett format som MIS f\u00f6rst\u00e5r och laddas upp till motsvarande gr\u00e4nssnitt av sin typ (motsvarar en enhet av typ 2 i bilden ovan).<\/li>\n<\/ol>\n<p>\nHuvudprogrammet DM startar, initierar, omstartar vid ov\u00e4ntad nedst\u00e4ngning (krasch) och avslutar alla plugins vid avslutning. Sammanst\u00e4llningen av plugins p\u00e5 varje dator \u00e4r unik; endast de n\u00f6dv\u00e4ndiga plugins som anges i inst\u00e4llningarna startas. <\/p>\n<p>Varje plugin \u00e4r ett sj\u00e4lvst\u00e4ndigt program som interagerar med huvudprogrammet. Denna definition av plugin m\u00f6jligg\u00f6r en mer stabil drift, tack vare oberoendet mellan alla plugin-inst\u00e4llningar och huvudprogrammet n\u00e4r det g\u00e4ller felhantering (om ett kritiskt fel uppst\u00e5r som orsakar att pluginet kraschar, p\u00e5verkar det inte andra plugins eller huvudprogrammet). Ett plugin till\u00e5ter att arbeta med enhetstyper (ofta med en och samma modell); vissa plugins kan interagera med endast en enhet, medan andra kan hantera flera. F\u00f6r att ansluta flera enheter av samma typ till en DM anv\u00e4nds flera instanser av samma plugin.<\/p>\n<p><img decoding=\"async\" alt=\"Enhetshanteraren. F\u00f6rl\u00e4nga MIS till enheter\" src=\"\/wp-content\/uploads\/2019\/06\/38fad3da8094e7e0090e65cd0d8c39b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nF\u00f6r utvecklingen av DM anv\u00e4ndes Qt-verktyg, eftersom det i de flesta fall m\u00f6jligg\u00f6r en abstraktion fr\u00e5n det specifika operativsystemet. Detta gjorde att man kunde st\u00f6dja drift med datorer baserade p\u00e5 Windows, Linux och MacOS, samt enkortsdatorer som Raspberry. Den enda begr\u00e4nsningen i valet av operativsystem vid utveckling av plugins \u00e4r tillg\u00e5ngen p\u00e5 drivrutiner och\/eller speciell mjukvara f\u00f6r specifika enheter.<\/p>\n<p>Interaktionen mellan plugins och huvudprogrammet sker via en st\u00e4ndigt aktiv QLocalSocket med namnet p\u00e5 den specifika instansen av pluginet, enligt det protokoll vi har utvecklat. Implementeringen av kommunikationsprotokollet fr\u00e5n b\u00e5da sidor har utformats som ett dynamiskt bibliotek, vilket till\u00e5ter andra f\u00f6retag att utveckla vissa plugins utan att helt avsl\u00f6ja interaktionen med huvudprogrammet. Den interna logiken f\u00f6r den lokala socketen g\u00f6r att huvudprogrammet snabbt kan uppt\u00e4cka krascher genom en signal om avbruten anslutning. N\u00e4r en s\u00e5dan signal aktiveras, omstartas den problematiska pluginen, vilket g\u00f6r det m\u00f6jligt att hantera kritiska situationer smidigare.<\/p>\n<p>Interaktionen mellan MIS och DM beslutades att bygga p\u00e5 HTTP-protokollet, eftersom MIS fungerar p\u00e5 en bas av <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/server\/\"   title=\"Webbserver\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"751\">Webbserver<\/a>, vilket g\u00f6r det enklare att skicka och ta emot f\u00f6rfr\u00e5gningar enligt detta protokoll. Det finns ocks\u00e5 m\u00f6jlighet att s\u00e4rskilja problem som kan ha uppst\u00e5tt vid utf\u00f6randet eller fullf\u00f6ljandet av uppgifter av enheterna baserat p\u00e5 svarskoder. <\/p>\n<p>I f\u00f6ljande artiklar kommer arbetet med DM och vissa plugins att granskas utifr\u00e5n n\u00e5gra exempel fr\u00e5n diagnostiska center.<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Enhetschef. F\u00f6rl\u00e4ng MIF till enheter | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/35439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=35439"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/35439\/revisions"}],"predecessor-version":[{"id":157942,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/35439\/revisions\/157942"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/26586"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=35439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=35439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=35439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}