Skip to content

Getting Started

Hachiko

Akita is a web API of the Laboratory Information System iLab. It allows you to interact with LIS iLab programmatically through well-known technologies such as REST API, GraphQL, JSON, API key and OpenID Connect authentication, etc.

Use cases

Historically, most end-user applications (LIS, ERP and so on) have GUI (desktop, web, mobile) as the usual way for data entry, processing, reporting, etc. Nowadays, in the interconnected world, such end-user applications tend to expose their functionality to the external world, making it possible to assemble infinitely complex systems from basic building blocks. Here is where Akita comes out on the scene.  The short and far not complete list of use cases of Akita are integration with:

  • Web sites
  • Hospital Information Systems (HIS) and variety of similar clinic management systems
  • Electronic Health Record systems
  • Billing systems
  • ... you name it!

Architecture

Akita is designed as a set of microservices. The simplified architecture looks like this:

flowchart LR

    subgraph Client app
    CLT[[Client]]
    end

    subgraph Akita
    GW[[Gateway]]
    PLG1[[Plugin 1]]
    PLGX[[Plugin ...]]
    PLGN[[Plugin N]]
    end

    CLT <--> GW

    GW <--> PLG1
    GW <--> PLGX
    GW <--> PLGN

In real life, Akita could (and will) have a lot more components, such as message broker(s), discovery service, distributed configuration service (such as etcd), etc. Every component could interact with its siblings, and/or with external services. However, when you use Akita, you will have a single entry point to almost any feature of LIS iLab.

Use it as a Homogenous Application

From the client application point of view, Akita is a homogenous service, i.e. has common base URL, common data model and credentials. Using it, you have access to almost any iLab feature.

Akita is a part of LIS iLab and thus, it is deployed per client (laboratory). And depending on the laboratory's capabilities and needs, every installation will have its own set of implemented endpoints.

To mitigate attack surface, Akita usually works behind cloud web application firewall, such as Cloudflare. Typical deployment uses containers, such as Docker.

.