Enhetsbehandling. Utvid MIS til enheter

Enhetsbehandling. Utvid MIS til enheter
Et automatisert medisinsk senter bruker mange forskjellige enheter, hvis drift mÄ kontrolleres av et medisinsk informasjonssystem (MIS), samt enheter som ikke aksepterer kommandoer, men som mÄ overfÞre resultatene av sitt arbeid til MIS. Alle enheter har imidlertid forskjellige tilkoblingsmuligheter (USB, RS-232, Ethernet, etc.) og mÄter Ä samhandle med dem pÄ. Det er nesten umulig Ä stÞtte alle i MIS, sÄ DeviceManager (DM) programvarelaget ble utviklet, som gir et enkelt grensesnitt for MIS for Ä tildele oppgaver til enheter og oppnÄ resultater.

Enhetsbehandling. Utvid MIS til enheter
For Ä Þke feiltoleransen til systemet ble DM delt inn i et sett med programmer plassert pÄ datamaskiner i legesenteret. DM er delt inn i et hovedprogram og et sett med plugins som samhandler med en bestemt enhet og sender data til MIS. Figuren nedenfor viser en generalisert struktur for interaksjon med DeviceManager, MIS og enheter.

Enhetsbehandling. Utvid MIS til enheter
Strukturen for interaksjon mellom MIS og DeviceManager viser 3 alternativer for plug-ins:

  1. Plugin-modulen mottar ingen data fra MIS og sender data konvertert til et format som er forstÄelig for den fra enheten (tilsvarer enhetstype 3 i figuren ovenfor).
  2. Programtillegget mottar en kort (nÄr det gjelder utfÞrelsestid) oppgave fra MIS, for eksempel utskrift pÄ en skriver eller skanning av et bilde, utfÞrer det og sender resultatet som svar pÄ forespÞrselen (tilsvarer enhetstype 1 i figuren ovenfor ).
  3. Programtillegget mottar en langsiktig oppgave fra MIS, for eksempel Ä gjennomfÞre en undersÞkelse eller mÄle indikatorer, og som svar sender oppgaveakseptstatusen (oppgaven kan bli avvist hvis det er en feil i forespÞrselen). Etter Ä ha fullfÞrt oppgaven, konverteres resultatene til et format som er forstÄelig for MIS og lastes opp til grensesnittene som tilsvarer deres type (tilsvarer enhetstype 2 i figuren ovenfor).

DM-hovedprogrammet starter, initialiserer, starter pÄ nytt i tilfelle et uventet stopp (krasj) og avslutter alle plugins nÄr de slÄs av. Sammensetningen av plugins pÄ hver datamaskin er forskjellig bare de nÞdvendige blir lansert, som er spesifisert i innstillingene.

Hver plugin er et uavhengig program som samhandler med hovedprogrammet. Denne definisjonen av en plugin tillater mer stabil drift pÄ grunn av uavhengigheten til alle plugin-forekomster og hodet nÄr det gjelder feilhÄndtering (hvis det oppstÄr en kritisk feil som fÄr plugin-en til Ä krasje, vil dette ikke pÄvirke andre plugins og hodet) . Ett plugin lar deg jobbe med enheter av én type (ofte samme modell), mens noen plugins kan samhandle kun med én enhet, mens andre kan samhandle med flere. For Ä koble flere enheter av samme type til én DM, start flere forekomster av samme plugin.

Enhetsbehandling. Utvid MIS til enheter
Qt-verktÞysettet ble brukt til Ä utvikle DM-en fordi det i de fleste tilfeller tillater abstraksjon fra et spesifikt operativsystem. Dette ga stÞtte for datamaskiner basert pÄ Windows, Linux og MacOS, samt Raspberry Pi-enheter med ett kort. Den eneste begrensningen pÄ valg av operativsystem nÄr man utvikler plugins er tilgjengeligheten av drivere og/eller spesialisert programvare for en bestemt enhet.

Interaksjon mellom plugins og hodet skjer gjennom en konstant aktiv QLocalSocket med navnet pÄ en spesifikk plugin-forekomst, i henhold til protokollen vi opprettet. Implementeringen av kommunikasjonsprotokollen pÄ begge sider ble designet som et dynamisk bibliotek, som gjorde det mulig Ä utvikle noen plugins av andre selskaper uten Ä fullstendig avslÞre interaksjonen med hodet. Den interne logikken til den lokale stikkontakten gjÞr at hodet umiddelbart kan lÊre om fallet ved hjelp av et tilkoblingsbruddsignal. NÄr et slikt signal utlÞses, startes den problematiske plugin-en pÄ nytt, noe som lar deg hÄndtere kritiske situasjoner mer smertefritt.

Det ble besluttet Ä bygge samspillet mellom MIS og DM basert pÄ HTTP-protokollen, siden MIS opererer basert pÄ Webservere, noe som gjÞr det enklere Ä sende og motta forespÞrsler ved hjelp av denne protokollen. Den lar deg ogsÄ identifisere problemer som kan ha oppstÄtt nÄr du angir eller utfÞrer oppgaver pÄ enheter basert pÄ svarkoder.

I de fĂžlgende artiklene, ved hjelp av eksemplet med flere diagnostiske senterrom, vil driften av DM og noen plug-ins bli undersĂžkt.

Kilde: www.habr.com

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig webhotell med DDoS-beskyttelse, VPS VDS-servere | ProHoster