GoogleCloudPlatform / healthcare-data-harmonization

This is an engine that converts data of one structure to another, based on a configuration file which describes how. There is an accompanying syntax to make writing mappings easier and more robust.
https://cloud.google.com/solutions/healthcare-life-sciences
Apache License 2.0
198 stars 64 forks source link

Whistle Data Transformation Language

Introduction

Whistle is a mapping language used for converting complex, nested data from one schema to another.

Whistle is a terse, efficient syntax to describe transformations of healthcare data, but is applicable to any domain.

In addition to the built-in functionality, the engine can be extended with plugins which can provide native transformations, extra features, integration with external services, and otherwise extend the engine functionality.

Prerequisites

  1. Git
  2. JDK 11.x
  3. Gradle 7.x

NOTE Consider using sdkman - a standard platform for downloading/installing sdks: sdk install java 11.0.20-zulu; sdk install gradle 7.6

Getting Started

  1. Clone and build the repository.

    $ git clone https://github.com/GoogleCloudPlatform/healthcare-data-harmonization.git
    $ cd healthcare-data-harmonization
    $ gradle test
  2. Take a look at the Getting Started Tutorial

  3. Refer to the Language Specification for details

Currently in this repository

Coming Soon to this repository

In no particular order:

Where is Whistle 1?

This repository contains what is technically Whistle 2, which is a from-scratch rewrite of Whistle. This is now the current and actively maintained version of Whistle.

The original version of Whistle is still available in the wstl1 directory of this repository for legacy purposes, however is not actively maintained, and we encourage all users to migrate to Whistle 2.