Skip to content

The GFModules project is a collection of applications aimed at improving data exchange between healthcare providers, the target audience for this initiative. The project is the technical implementation of the various components of the 'Generieke Functies, lokalisatie en addressering' project of the Ministry of Health, Welfare and Sport

License

Notifications You must be signed in to change notification settings

minvws/gfmodules-coordination

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Generic Functions Modules (Generieke Functies Modules)

Requirements

  • docker - Most of the project runs inside of Docker containers.

Disclaimer

This project and all associated code serve solely as documentation and demonstration purposes to illustrate potential system communication patterns and architectures.

This codebase:

  • Is NOT intended for production use
  • Does NOT represent a final specification
  • Should NOT be considered feature-complete or secure
  • May contain errors, omissions, or oversimplified implementations
  • Has NOT been tested or hardened for real-world scenarios

The code examples are only meant to help understand concepts and demonstrate possibilities.

By using or referencing this code, you acknowledge that you do so at your own risk and that the authors assume no liability for any consequences of its use.

Introduction

The GFModules project is a collection of applications aimed at improving data exchange between healthcare providers, the target audience for this initiative. The project is the technical implementation of the various components of the 'Generieke Functies, lokalisatie en addressering' project of the Ministry of Health, Welfare and Sport of the Dutch government. All components pertain to PoC level implementation.

Architecture

This project supplies a number of generic components that should be used in the Generic Functions Localization and Addressing. Aside from the generic components, this project also supplies a reference implementation for various components to make integration easier.

Architecture Legend

Processes

This project supports multiple processes. To give a clear overview they are divided into read, write and administration processes.

Read

Write

Administration

Components

Localization Register Service (LRS)

The Localization Register Service is the aggregate service of the underlying services.

Details about documentation and implementation can be found at the Localization Register Service repository

Pseudonym Service

The Pseudonym Service is responsible for the pseudonymisation of the BSN. Preferably the BSNk service would be used instead of this service. But because the BSNk is still under development, the Pseudonym Service is used.

Details about documentation and implementation can be found at the Pseudonym Service repository

National Referral Index (NRI)

The National Referral Index (NRI) is responsible for the referral of the Health Data. The NRI contains a referral to the register that associates a Health Provider with pseudonym and data domain.

Details about documentation and implementation can be found at the National Referral Index repository

Addressing Register

The Addressing Register holds the information about the various Health Data endpoints that are available for fetching the metadata. The information of the Addressing Register should be enough for the Timeline Service or the Health application to fetch the actual metadata.

All the data models available in the Addressing Register are based on HL7 FHIR R4

Details about documentation and implementation can be found at the Addressing Register repository

Localization Metadata Register (LMR)

The Localization Metadata Register is an addressable register that contains metadata of all the pseudonyms that it is responsible for. There are multiple metadata registers divided over the health landscape. In the end, all health data should have corresponding metadata available on one of the available metadata registers. The Metadata Register endpoints should be described in the Addressing Register. The LMR should contain entries for all the metadata in the Metadata Register.

The Localization Metadata Register repository is an example implementation of a LMR. Details about the documentation and implementation can be found at the repository.

Qualification Register

For more details about the Qualification Register see Qualification Register Documentation

Getting started

If this is the first time you want to set up all the above components you can run:

tools/./script.sh --autopilot

When you want to clear the current state and reinstall everything with the default database migrations you can run:

tools/./script.sh --remove --clear-config --autopilot --build

To setup all the applications you may run the tools/script.sh script top setup.

The guides on setting up the individual services to work locally are described in the repositories below.

Service Exposed http url Repository link
NRI http://localhost:8501 https://github.com/minvws/gfmodules-national-referral-index
Addressing http://localhost:8502 https://github.com/minvws/gfmodules-addressing-register
LMR http://localhost:8503 https://github.com/minvws/gfmodules-localization-metadata-register
Pseudonym http://localhost:8504 https://github.com/minvws/gfmodules-pseudonym-stub
LRS http://localhost:8505 https://github.com/mInvws/gfmodules-localization-register-service
Qualification Admin API http://localhost:8506 https://github.com/minvws/gfmodules-qualification-register-admin-api
Qualification API http://localhost:8507 https://github.com/minvws/gfmodules-qualification-register-api
Qualification Web http://localhost:8508 https://github.com/minvws/gfmodules-qualification-register-web

Contributing

Usage of .gitignore files

It is important to leave user specific files such as IDE or text-editor settings outside the repository. For this, create an local .gitignore file and configure git like below.

git config --global core.excludesfile ~/.gitignore

When you run into issues when running the project locally, please submit the debug.log file that can be generated by running:

tools/./script.sh --debug

Documentation

When introducing changes in the documentation, the node and markdownlint-cli2 tool can both come in handy. These are being used in the continuous integration (CI) pipeline to lint all the Markdown files. Therefor you can use the markdownlint-cli2 tool on the Markdown files to check and fix the style.

Structurizr

The images in docs/images are created from the structurizr workspace.dsl file. To update the images after changing the structurizr workspace file run the following command:

tools/./update-diagrams.sh

About

The GFModules project is a collection of applications aimed at improving data exchange between healthcare providers, the target audience for this initiative. The project is the technical implementation of the various components of the 'Generieke Functies, lokalisatie en addressering' project of the Ministry of Health, Welfare and Sport

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published