{"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\/da\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv","title":{"rendered":"Enhedsh\u00e5ndtering. Forl\u00e6nge MIS til enheder","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Enhedsh\u00e5ndtering. Forl\u00e6nge MIS til enheder\" src=\"\/wp-content\/uploads\/2019\/06\/719d6cc98f349e800fa494c2589e9b5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nI det automatiserede medicinske center anvendes der mange forskellige apparater, hvis drift skal styres af det medicinske informationssystem (MIS), samt enheder, der ikke modtager kommandoer, men skal videregive resultaterne af deres arbejde til MIS. Imidlertid har alle enheder forskellige tilslutningsmuligheder (USB, RS-232, Ethernet osv.) og m\u00e5der at interagere med dem p\u00e5. At underst\u00f8tte dem alle i MIS er n\u00e6sten umuligt, derfor blev der udviklet en softwarelag kaldet DeviceManager (DM), der giver MIS et ensartet interface til at give opgaver til enhederne og modtage resultater.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"Enhedsh\u00e5ndtering. Forl\u00e6nge MIS til enheder\" src=\"\/wp-content\/uploads\/2019\/06\/ffa0f6875047c11b9493c3c87955f551.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nFor at \u00f8ge systemets p\u00e5lidelighed er DM blevet opdelt i en samling programmer, der er placeret p\u00e5 computere i det medicinske center. DM opdeles i hovedprogrammet og et s\u00e6t plugins, der udf\u00f8rer interaktion med den specifikke enhed og sender data til MIS. Nedenfor er en generel struktur for interaktionen med DeviceManager, MIS og apparaterne.<\/p>\n<p><img decoding=\"async\" alt=\"Enhedsh\u00e5ndtering. Forl\u00e6nge MIS til enheder\" src=\"\/wp-content\/uploads\/2019\/06\/5287c9272965a4bc62b846be655d6a0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nStrukturen for interaktionen mellem MIS og DeviceManager viser 3 arbejdsm\u00e5der for plugins:<\/p>\n<ol>\n<li>Plugin modtager ingen data fra MIS og sender de omformulerede data fra apparatet i et format, som den forst\u00e5r (svarer til apparat type 3 i figuren ovenfor).<\/li>\n<li>Plugin f\u00e5r en kort (tidsm\u00e6ssigt) opgave fra MIS, for eksempel at udskrive p\u00e5 printeren eller scanne et billede, udf\u00f8rer den og sender resultatet i svaret p\u00e5 anmodningen (svarer til apparat type 1 i figuren ovenfor).<\/li>\n<li>Plugin modtager en langvarig opgave fra MIS, for eksempel at udf\u00f8re en unders\u00f8gelse eller m\u00e5le v\u00e6rdier; i svaret sender den status for opgaveaccept (opgaven kan blive afvist ved fejl i anmodningen). Efter udf\u00f8relsen bliver resultaterne konverteret til et format, som MIS forst\u00e5r, og overf\u00f8res til de relevante gr\u00e6nseflader for deres type (svarer til apparat type 2 i figuren ovenfor).<\/li>\n<\/ol>\n<p>\nHovedprogrammet DM starter, initialiserer, genstarter ved uventet stop (nedbrud) og afslutter alle plugins, n\u00e5r arbejdet er f\u00e6rdigt. S\u00e6ttet af plugins p\u00e5 hver computer er unikt; kun de n\u00f8dvendige plugins, der er angivet i indstillingerne, k\u00f8res. <\/p>\n<p>Hver plugin fungerer som et selvst\u00e6ndigt program, der interagerer med hovedprogrammet. Denne definition af en plugin sikrer en mere stabil drift, takket v\u00e6re uafh\u00e6ngigheden af alle instanser af plugins og hovedprogrammet i forhold til fejlbehandling (hvis der opst\u00e5r en kritisk fejl, der f\u00e5r en plugin til at fejle, vil det ikke p\u00e5virke de andre plugins og hovedprogrammet). En plugin tillader arbejde med enheder af samme type (ofte af samme model), mens nogle plugins kun kan interagere med \u00e9n enhed, mens andre kan interagere med flere. For at forbinde flere enheder af samme type til \u00e9n DM, kr\u00e6ves det at starte flere instanser af \u00e9n plugin.<\/p>\n<p><img decoding=\"async\" alt=\"Enhedsh\u00e5ndtering. Forl\u00e6nge MIS til enheder\" src=\"\/wp-content\/uploads\/2019\/06\/38fad3da8094e7e0090e65cd0d8c39b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTil udviklingen af DM blev v\u00e6rkt\u00f8jet Qt anvendt, fordi det i de fleste tilf\u00e6lde muligg\u00f8r en abstraktion fra den specifikke operativsystem. Dette gjorde det muligt at underst\u00f8tte computere baseret p\u00e5 Windows, Linux og MacOS, samt enkeltkortcomputerne Raspberry. Den eneste begr\u00e6nsning ved valget af operativsystem ved udviklingen af plugins er tilstedev\u00e6relsen af drivere og\/eller speciel software til den specifikke enhed.<\/p>\n<p>Interaktionen mellem plugins og hovedprogrammet foreg\u00e5r gennem en konstant aktiv QLocalSocket med navnet p\u00e5 den specifikke plugin-forekomst, baseret p\u00e5 den protokol, vi har udviklet. Implementeringen af kommunikationsprotokollen fra begge sider er blevet udformet som et dynamisk bibliotek, hvilket gjorde det muligt for andre virksomheder at udvikle nogle plugins uden at afsl\u00f8re hele interaktionen med hovedprogrammet. Den interne logik for den lokale socket g\u00f8r det muligt for hovedprogrammet straks at registrere et nedbrud gennem et signal om forbindelsesafbrydelse. N\u00e5r et s\u00e5dant signal aktiveres, genstartes den problematiske plugin, hvilket tillader en mere sk\u00e5nsom h\u00e5ndtering af kritiske situationer.<\/p>\n<p>Interaktionen mellem MIS og DM blev besluttet at bygge p\u00e5 HTTP-protokollen, da MIS opererer p\u00e5 basis af <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/da\/server\/\"   title=\"Web-servere\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"751\">Web-servere<\/a>, hvor det er lettere at sende og modtage foresp\u00f8rgsler via denne protokol. Derudover er der mulighed for at skelne mellem problemer, der kunne opst\u00e5 ved at s\u00e6tte op eller udf\u00f8re opgaver via enheder, baseret p\u00e5 svarkoder. <\/p>\n<p>I de f\u00f8lgende artikler vil arbejdet med DM og nogle plugins blive gennemg\u00e5et ved eksempler fra flere rum p\u00e5 det diagnostiske center.<br \/>\n<br \/>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Enhedsh\u00e5ndterer. Forl\u00e6ng MDA til enheder | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/device-manager-prodlit-mis-do-ustrojstv","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/35439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=35439"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/35439\/revisions"}],"predecessor-version":[{"id":157942,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/35439\/revisions\/157942"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/26586"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=35439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=35439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=35439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}