Skip to content

kainutom/definitions

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

381 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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 provides XML interfaces for external services via KaPa and converts external XML interfaces to FHIR/JSON interfaces for internal services.

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

Java library for providing FHIR services.

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

Personal health record database.

Shared server side Java library.

Web Browser UI that is served from oda-backend.

Oda-notification-service sends notifications to end users.

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

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

ODA OpenID Connect Provider for authenticating and authorizing end users.

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 100.0%