61 research outputs found

    Automated Injection of Curated Knowledge Into Real-Time Clinical Systems: CDS Architecture for the 21st Century

    Get PDF
    abstract: Clinical Decision Support (CDS) is primarily associated with alerts, reminders, order entry, rule-based invocation, diagnostic aids, and on-demand information retrieval. While valuable, these foci have been in production use for decades, and do not provide a broader, interoperable means of plugging structured clinical knowledge into live electronic health record (EHR) ecosystems for purposes of orchestrating the user experiences of patients and clinicians. To date, the gap between knowledge representation and user-facing EHR integration has been considered an “implementation concern” requiring unscalable manual human efforts and governance coordination. Drafting a questionnaire engineered to meet the specifications of the HL7 CDS Knowledge Artifact specification, for example, carries no reasonable expectation that it may be imported and deployed into a live system without significant burdens. Dramatic reduction of the time and effort gap in the research and application cycle could be revolutionary. Doing so, however, requires both a floor-to-ceiling precoordination of functional boundaries in the knowledge management lifecycle, as well as formalization of the human processes by which this occurs. This research introduces ARTAKA: Architecture for Real-Time Application of Knowledge Artifacts, as a concrete floor-to-ceiling technological blueprint for both provider heath IT (HIT) and vendor organizations to incrementally introduce value into existing systems dynamically. This is made possible by service-ization of curated knowledge artifacts, then injected into a highly scalable backend infrastructure by automated orchestration through public marketplaces. Supplementary examples of client app integration are also provided. Compilation of knowledge into platform-specific form has been left flexible, in so far as implementations comply with ARTAKA’s Context Event Service (CES) communication and Health Services Platform (HSP) Marketplace service packaging standards. Towards the goal of interoperable human processes, ARTAKA’s treatment of knowledge artifacts as a specialized form of software allows knowledge engineers to operate as a type of software engineering practice. Thus, nearly a century of software development processes, tools, policies, and lessons offer immediate benefit: in some cases, with remarkable parity. Analyses of experimentation is provided with guidelines in how choice aspects of software development life cycles (SDLCs) apply to knowledge artifact development in an ARTAKA environment. Portions of this culminating document have been further initiated with Standards Developing Organizations (SDOs) intended to ultimately produce normative standards, as have active relationships with other bodies.Dissertation/ThesisDoctoral Dissertation Biomedical Informatics 201

    Development of an Api As a Solution to Data Insularity Amongst Dietary-Need Applications

    Get PDF
    When multiple competing applications in the same field use only their own sets of user-generated review data and do not collaborate with other applications, data is used in isolation. This factor, which the author will refer to as data insularity, segregates each application\u27s community of users from other applications\u27 communities, thus creating a limited and fragmented set of data, which discourages the creation of new applications in the industry, and adversely affects the end user. This study will propose a prototype API for applications in the restaurant industry as a solution to the limited and insular use of data amongst dietary need applications. In order to better understand the problem of data insularity amongst dietary need finder-review applications, a brief observational study will be conducted on several of the most popular applications in this area. Characteristics of the application will be examined such as its data model, its policies on cross-application data collaboration, its policies on data caching, and the existence of some method of data collaboration, such as a public API

    Web -ohjelmointirajapinnan suunnittelu asiakasportaalille

    Get PDF
    Home builders in the home building industry would like to increase customer satisfaction, by providing a self-service customer portal. In a customer portal, all stakeholders such as home builders, homeowners and vendors can meet and communicate and share distributed data. Customer self-service would reduce the overhead of customer service. Direct communication through portals could also prevent costly mistakes before they happen. Web Application Programming Interface (Web API) could provide a framework for builders to brand their own customer portal website. A Web API could provide an interface where both components server and client side could evolve independently. A good API makes it easier to develop software and provides a building component for the application. The purpose of this thesis is to design Web APIs for a customer portal in the home building industry. This thesis presents a design of a Web API, which concentrates on the architectural design of a Web API, including versioning and security. This design provides resource APIs, with Uniform Resource Identifier (URI) versioning and token based SHA-256 message authentication. The implementation of Web APIs allows the home provider to customize their own customer portal according to their own brand.Kodin rakennuttajat haluaisivat lisÀtÀ asiakastyytyvÀisyyttÀ tarjoamalla itsepalveluportaalia. Asiakasportaalissa kaikki sidosryhmÀt, kuten rakennuttajat, kodin omistajat ja myyjÀt, voivat kommunikoida suoraan keskenÀÀn ja jakaa informaatiota. Itsepalvelu vÀhentÀisi taakkaa asiakaspalvelussa. Suora kommunikointi portaalin kautta ehkÀisisi vakavat virheet etukÀteen. Web-ohjelmointirajapinta (Web API) tarjoaisi rakennuttajille vÀlineet muokata Web-portaaliaan yhtiönsÀ brÀndin mukaisesti. Web API tarjoaisi rajapinnan, missÀ sekÀ asiakaspuoli ettÀ palvelinpuoli voivat kehittyÀ itsenÀisesti. HyvÀ API-design helpottaa ohjelmiston suunnittelemista ja tarjoaa rakennuselementin sovelluksen kehittÀmiselle. TÀmÀn diplomityön tarkoitus on suunnitella Web API -asiakasportaali kodin rakennuttajille. TÀssÀ tutkielmassa esitellÀÀn Web API -arkkitehtuuriin design, joka sisÀltÀÀ versioinnin ja turvallisuuden suunnittelua. TÀmÀ malli tarjoaa resurssikeskeisen Web API:n, joka kÀyttÀÀ URI-versiointia ja Secure Hash-algoritmiin perustuvaa viestin autentikaatiota

    Exposing Rich Update Operations via REST APIs

    Get PDF
    Paari viimase aastaga on Representational State Transfer (REST) muutunud Application Programming Interface’i (API) disaini liidriks tĂ€nu lihtsusele ja mitmekĂŒlgsusele. See on hĂ”lbustanud API’sid URL’ide juures, mis kasutavad selliseid HTTP meetodeid nagu GET, POST, PUT ja DELETE. See on viinud lihtsustatud mudelite toomiseni klientide tarkvara arendajatele. Siiski on kaks probleemi, mida REST ainuĂŒksi ei lahenda. Esimene neist on standardiseeritud vastused. Enamikel ettevĂ”tetest on oma API’d, tavaliselt JSON tĂŒĂŒpi vastusega, mis ĂŒhtib nende andmemudeliga. Hea nĂ€ide on see, kui Twitter’i API klient ei ole vĂ”imeline otseselt ĂŒhendust vĂ”tma Reddit API’ga ja vastupidi. SeetĂ”ttu teevad paljud API kliendid peaaegu sama asja. Sellest tulenevalt leiame me olukorra, kus arvukad arendajad kordavad sedasama saavutust. JĂ€rgmine probleem on API’de sidumine. World Wide Web’i Consortsium’i (W3C) kohaselt JSON ei sisalda sisseehitatud toetust hĂŒperlinkidele, mis moodustavad pĂ”hilise Web’i ehitusbloki. Nende kahe puudused tĂ€hendavad seda, et API lĂ”pp-punktid on seotud API dokumentatsiooniga, seega on kasutajad sunnitud hoolikalt lĂ€bi lugema mitmeid lehekĂŒlgi API dokumentatsioone, et mĂ”ista API lĂ”pp-punktide vahelist suhet ning saada aru, mis tegevused on vajalikud juurdepÀÀsuks antud vahendile. KokkuvĂ”ttes me nĂ€eme, et kaasaegsetel rakendustel, arendatud API’d, on uuenduste kĂ€sklused ĂŒhendatud meetoditega, mis manipuleerivad otseselt domeeniga. Selles uuringus arutleme uuendusi otsivate kĂ€skluste probleemi ĂŒle ja pĂŒĂŒame leida vĂ”imalusi, et tĂ€iustada seda rikkalike uuendusmeetodite ja erinevaid lĂ€henemisi kasutavate, uuendusi otsivate, kĂ€skluste kaudu. Esimese panusena selles uurimustöös, tuleb vĂ”tta hĂŒpermeedia formaat Collection +JSON ja parendada seda nii, et see mahutaks rohkem uuenduste kĂ€sklusi lĂ€bi ĂŒheainsa REST uuenduse meetodi dĂŒnaamiliselt nii API’s kui kliendi tarkvaras. Lihtsalt öeldes me kooskĂ”lastame REST’i lihtsuse Domain Driven Development and Command Query Responsibility Segregation’i (CQRS) rikkalike kontseptidega. Me loome mĂ€rkustel pĂ”hineva ressursi pakkija, mis genereerib kĂ€sud dĂŒnaamiliselt kasutades jagatud kontrollijat ja liidest, mis vĂ€hendab koodi, mida vajatakse laadimisel valdkonna teenuse meetodina API’sse.In the past few years Representational State Transfer (REST) has emerged a leader of modern Application Programming Interface (API) design for its simplicity and versatility. This has facilitated APIs with URLs that make use of HTTP methods like GET, POST, PUT and DELETE. It has also led to producing intuitive models for client developers. However, there are two issues that REST doesn’t solve alone, the first issue being standardized responses. Most enterprises have their own custom APIs, usually a JSON response that maps clearly to their custom data model. A good example is when a Twitter API client is not able directly communicate with a Reddit API and vice versa. This leads to numerous API clients that do almost, but not quite the same thing. Hence we find numerous developers duplicating the same efforts. The second issue is linking. As put by the World Wide Web Consortium (W3C): JSON doesn’t include built-in support for hyperlinks, which fundamentally constitutes as a building block on the Web. Hence the drawbacks of the two is that the API endpoints are only linked by API documentation, thus users are forced to peruse through pages of API documentation to comprehend the relationships between the API endpoints and understand what actions are required to interact with a given resource. In summary, we find that in modern day applications, the APIs developed have their update operations mapped to methods that directly manipulate the domain. In this research we discuss the underlying problem with update queries and unearth ways to enhance them for richer update methods and queries using various approaches. The first contribution in this research is to take a hypermedia format namely Collection +JSON, and to enhance it to accommodate and expose multiple update commands and templates through a single REST update method dynamically, both in the API and the client. In simple words, we reconcile the simplicity of REST, with the ample concepts of Domain Driven Development and Command Query Responsibility Segregation (CQRS). We also implement an annotation based resource assembler that generates commands dynamically by using a generic controller and interface that reduces the implementation needed to inject domain service methods into the API

    A Pattern Language for RESTful Conversations

    Get PDF
    As a good user interface design is important for the success of an app, so is a good API for the success of a Web service. Within the RESTful Web services community there is a need for a systematic approach in knowledge sharing, for which patterns are particularly suitable. Using a RESTful service to achieve a certain goal often requires multiple client-server interactions, i.e., to have a conversation. While patterns of such RESTful conversations can be uncovered from existing APIs' usage scenarios, or the service engineering literature, they have never been gathered in a pattern language, nor properly visualized with a Domain Specific Modeling Language (DSML). These patterns provide valuable input for API designers, as well as API consumers, by establishing a common vocabulary to describe recurring conversations. To do so, this paper uses RESTalk, a DSML, to model the basic RESTful conversation patterns structured around the life cycle of a resource (create, discover, read, edit, delete, protect) by showing the corresponding sequences of HTTP request-response interactions. We show how the resulting pattern language can be applied to individual resources, or also collections of resources

    Microservice-based Reference Architecture for Semantics-aware Measurement Systems

    Get PDF
    Cloud technologies have become more important than ever with the rising need for scalable and distributed software systems. A pattern that is used in many such systems is a microservice-based architecture (MSA). MSAs have become a blueprint for many large companies and big software systems. In many scientific fields like energy and environmental informatics, efficient and scalable software systems with a primary focus on measurement data are a core requirement. Nowadays, there are many ways to solve research questions using data-driven approaches. Most of them have a need for large amounts of measurement data and according metadata. However, many measurement systems still follow deprecated guidelines such as monolithic architectures, classic relational database principles and are missing semantic awareness and interpretation of data. These problems and the resulting requirements are tackled by the introduction of a reference architecture with a focus on measurement systems that utilizes the principles of microservices. The thesis first presents the systematic design of the reference architecture by using the principles of Domain-driven Design (DDD). This process ensures that the reference architecture is defined in a modular and sustainable way in contrast to complex monolithic software systems. An extensive scientific analysis leads to the core parts of the concept consisting of the data management and semantics for measurement systems. Different data services define a concept for managing measurement data, according meta data and master data describing the business objects of the application implemented by using the reference architecture. Further concepts allow the reference architecture to define a way for the system to understand and interpret the data using semantic information. Lastly, the introduction of a frontend framework for dashboard applications represents an example for visualizing the data managed by the microservices

    Model-based Role Based Access Control for RESTful Spring applications

    Get PDF
    MudelipÔhine tarkvaraarendus on kaasaegse tarkvara arendamise metoodika, mille eesmÀrk on lahendada konkreetseid probleeme, luues domeeni mudelid ja pakkudes lahendust kontseptuaalsel viisil. DomeenipÔhine keel (DSL) on arvuti keel, mis vÔimaldab lahendada probleeme konkreetses domeenis. KÀesoleva lÔputöö eesÀrgiks on arendada tarkvaraline vahend, mis aitab luua automaatselt tarkvarakoodi rolli-pÔhise ligipÀÀsu kontrolli abil RESTful rakendustele. Selle jaoks soovime pakkuda spetsifikatsiooni, mis lÀbi DSL-i sisendi kirjeldaks andmebaasi kihtide komponente (nÀiteks klassid ja hoidlad), vahekihtide komponente (st Resources/Assemblers, Controllers), ja rolli-pÔhise ligipÀÀsu kontrolli mudelit koos sihtrakendusega. Tuginedes reeglitele, genereerib meie vahend koodi, mis sisaldab RBAC autentimisega / autoriseerimisega seotud konfiguratsiooni ja abiklasse. See on kogu RESTful Spring Boot rakenduse tuumik koos kommentaaride ning baaskoodiga, mille sisendiks on etteantud RBAC mudel.Model-driven software development is the modern software development methodology that aims at solving a specific problem by creating the domain models and providing the solution in a conceptual way. Domain-Specific Language (DSL) is the computer language that allows solving a problem in a specific domain. The goal of this thesis is to develop a software tool that helps to generate the software codes automatically with Role Based Access Control for a RESTful application. In this context, we want to provide a resource specification as an input to the software tool through DSL for describing the database layer components (i.e. Entity classes and Repositories), the integration layer components (i.e. Resources/Assemblers, Controllers), and a Role-Based Access Control model to be associated with a target application. Based on the definitions, our tools will generate code, including RBAC authentication/authorization related configuration and helper classes. Thus, the skeleton for the RESTful Spring Boot application with the annotations and basic code to enforce the RBAC model provided as input

    ENABLING MOBILE DEVICES TO HOST CONSUMERS AND PROVIDERS OF RESTFUL WEB SERVICES

    Get PDF
    The strong growth in the use of mobile devices such as smartphones and tablets in Enterprise Information Systems has led to growing research in the area of mobile Web services. Web services are applications that are developed based on network standards such as Services Oriented Architecture and Representational State Transfer (REST). The mobile research community mostly focused on facilitating the mobile devices as client consumers especially in heterogeneous Web services. However, with the advancement in mobile device capabilities in terms of processing power and storage, this thesis seeks to utilize these devices as hosts of REST Web services. In order to host services on mobile devices, some key challenges have to be addressed. Since data and services accessibility is facilitated by the mobile devices which communicate via unstable wireless networks, the challenges of network latency and synchronization of data (i.e. the Web resources) among the mobile participants must be addressed. To address these challenges, this thesis proposes a cloud-based middleware that enables reliable communication between the mobile hosts in unreliable Wi-Fi networks. The middleware employs techniques such as message routing and Web resources state changes detection in order to push data to the mobile participants in real time. Additionally, to ensure high availability of data, the proposed middleware has a cache component which stores the replicas of the mobile hosts’ Web resources. As a result, in case a mobile host is disconnected, the Web resources of the host can be accessed on the middleware. The key contributions of this thesis are the identification of mobile devices as hosts of RESTful Web services and the implementation of middleware frameworks that support mobile communication in unreliable networks

    Evaluation of Arrowhead Framework in Condition Monitoring Application

    Get PDF
    The technological advancement in the field of electronics and information technology is changing how industrial automation systems are built. This phenomenon is commonly referred to as the fourth industrial revolution. However, before this prophecy on the change can manifest, new architectural solutions are needed to fully leverage the abilities brought by cheaper sensors, more advanced communication technology and more powerful processing units. The Arrowhead Framework tries to tackle this problem by providing means for Service-oriented architecture via System-of-Systems approach, where so-called application systems consume services provided by so-called core systems, which provide means for service discovery, service registration and service authorization. The goal of the thesis was to evaluate The Arrowhead Framework by developing a demo application on the edge-cloud setup used in the condition monitoring system of vibrating screens manufactured by Metso. The demo applications objective was to ease the configuration and installation of industrial Linux PC’s at the edge of the network. The methodological model for the evaluation was based on the design science research process (DSRP), which provides a model for research of IT artefacts. As a result, the Arrowhead Framework’s core features were found helpful in the problem domain, and suitable for small-scale test setup. However, the implementation of the framework was found to be low quality and lacking features from a production-ready software artefact. The found shortcomings were reported as feedback for the ongoing development process of the framework
    • 

    corecore