jokimaki / definitions

ODA definitions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ODA definitions

This repository contains ODA architecture and UI definitions.

Design principles

See suunnitteluperiaatteet.md (in Finnish)

Architecture

The architecture is guided by the following principles:

  • Modular API first system
  • Composed of microservices
  • Simple and minimalistic user experience
  • User centric
  • Multilingual
  • Agile development
  • Systems design
  • Small is beautiful
  • Open data
  • Open source
  • Open API
  • Open standards
  • My Data.

Further reading (in Finnish): Arkkitehtuuriperiaatteet

Modules

Currently implemented modules are listed below. See their repositories for more detailed software achitecture description.

oda-backend

Backend provides static resources, API gateway and integration to Suomi.fi SSO. Backend is the contact point for web browsers and handles security aspects such as CSRF protection.

oda-esb

ODA ESB provides XML interfaces for external services via KaPa and converts external XML interfaces to FHIR/JSON interfaces for internal services.

oda-fhir-service

FHIR Service Provides FHIR resource APIs on top of oda-phr and external systems that provide FHIR APIs.

oda-fhir-service-common

Java library for providing FHIR services.

oda-logging-service

Logging Service provides a centralized logging server and a client library that handles server communication when built into other services.

oda-phr

Personal health record database.

oda-service-common

Shared server side Java library.

oda-web-front

Web Browser UI that is served from oda-backend.

oda-notification-service

Oda-notification-service sends notifications to end users.

oda-cds-service

Oda-cds-service acts as a decision making service for oda-fhir-service regarding specific questionnaires stored in oda-phr.

oda-analytics-service

Oda-analytics-service generates dashboard reports from ODA log data.

oda-idp

ODA OpenID Connect Provider for authenticating and authorizing end users.

oda-media-storage

Provides an API to file storage. Checks authorization using oda-fhir-service.

Information architecture

Information is stored primarily as FHIR resources. Data model is described in ODA RFC repository.

ODA uses standardized codesets whenever possible. See full codes and code systems listing.

Roles and authorizations

Documented (in Finnish): Roolit ja valtuutukset

Integrations

See Integrations for details.

Functional architecture

Some of the module interactions are described with sequence diagrams.

How a service provider is selected for a customer is described in customer-to-service.md.

Key technologies

Current microservices are implemented as standalone Java 8 applications with Spring Boot. PostgreSQL 9.6 is used as database.

Web frontend is implemented as an EcmaScript 6/HTML 5 single page application. Key libraries include

Deployment architecture

See Deployment architecture

Visual design

Tools and conventions

Glossary

See glossary.md

About

ODA definitions


Languages

Language:Shell 100.0%