Giter Site home page Giter Site logo

linuxforhealth / connect-r-and-d Goto Github PK

View Code? Open in Web Editor NEW
14.0 14.0 19.0 1.85 MB

Linux For Health Connectors for Inbound Data Processing

License: Apache License 2.0

Java 15.93% Shell 2.33% Dockerfile 0.06% Jupyter Notebook 72.64% XSLT 9.05%

connect-r-and-d's People

Contributors

dixonwhitmire avatar mjlorenzo305 avatar pbhallam avatar pweil- avatar srcarrier avatar torimcc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

connect-r-and-d's Issues

Linux for Health Development Documentation

Provide documentation focused on Linux For Health Development. Topics include:

  • "Hello World" example using the file component
  • How to Author and use a new component
  • How to add dependencies for components not included within camel-core, hl7, or "fhir"

Validate Data Processing Security

Review consumer and producer configurations to ensure that:

  • data is secured at transit and at rest.
  • authentication and authorization controls are in place

Camel Route Error Handling

Update the route processing workflow to include an error handler which directs messages to a "dead letter queue/topic".

Linux for Health Connect Continuous Integration

Implement a continuous integration process which executes the Linux for Health test suite when a PR is submitted on GitHub.

Features include:

  • CI process checks out the proposed branch and executes the test suite
  • Errors, if any, are displayed on the PR. PRs in an error state may not be merged.
  • A successful test run is displayed on the PR. PRs without errors may be merged.

Infrastructure Support

Support:

  • container configurations for local development and deployments
  • provisioning Open Shift on "selected" platforms
  • initial CI to execute against submitted GitHub PRs

Linux for Health OpenID Connect/OAuth2 Support

Update Linux for Health to support the user authentication and authorization using the OpenID and OAuth2 standards.

Features:

  • Linux for Health supports user account creation and profile updates (user demographics)
  • User demographics include: email, first name, last name, and organization
  • Users are required to authenticate prior to utilizing a Linux for Health processing route
  • Determine if OpenID/OAuth2 flows can be encapsulated and utilized for end-user authentication/authorization and route based authentication/authorization (see Blue Button)

Add support for Kong

Support Kong for API layer and load balancing. Define the LFH API in Kong, which removes the burden of filtering out "bad" traffic to Kong, which is the point of an API Gateway.

Property File Validation

Integrate property file validation so that warnings or errors are reported prior to application startup.

Migrate from NATS Server to NATS JetStream

JetStream is built on/integrated with NATS 2.0 and supports the existing NATS 2.0 security mechanisms, including TLS, NKEYs, etc. So we should be able to integrate with JetStream now.

Simplify LFH Connect Application Property Usage

The property configuration and parsing is a bit complex. Let's reduce the complexity by reducing to a single URI setting so that we can the property placeholder's provided by Camel's simple expressions.

Update Camel Version to 3.4.0

Update our Camel version to 3.4.0 to support recent changes we made to the upstream project for package scanning.

Linux for Health CD Pipeline

The Linux for Health CD pipeline creates and uploads a Linux for Health connect image to Dockerhub when a new release is generated.

Features

  • The CD pipeline checks out the release tag and executes tests.
  • If tests are successful, a new image is built and uploaded to Dockerhub.
  • If errors occur they are reported back to the development team.

Define Common JSON Messaging Format

Define a common JSON messaging format to encapsulate the messages received within a Linux for Health processing route. The messaging format will support message metadata, including provenance, as well as a common key for the messaging/data payload.

Review Camel Metadata fields/headers to see if there is data of value to include in the messaging format.

It would be great if we could include the route id and data format within each message.

Support targeted platforms

Postgres Integration

Include Postgres SQL as a Linux for Health integration option.

Features:

  • Support the secure storage of Postgres SQL credentials within the application.properties file.
  • Allow routes to save data to specific schemas.

Notes:

  • Target schemas are expected to be present prior to integration.
  • Linux for Health uses Postgres to support OpenID Connect/OAuth2 in an "internal" schema.

MVP Support

Support the following for MVP:

  • HL7 2.x messaging formats
  • FHIR R4 messaging formats
  • Blue Button CMS integration
  • Consolidated error handling and data storage
  • Convention over Configuration development
  • CCD message processing
  • FHIR Server integrations

Auditing via NATS Event Stream

Use NATS messaging to track every event that occurs in Linux for Health.

Features:

  • Use a NATS audit topic per Kafka topic.
  • Provide a method/create a utility to view a single time-sequenced set of transactions across all NATS audit topics (e.g. docker-compose logs). Alternately, consider 1 NATS audit topic for all LFH events & evaluate pros/cons.

FIPS 140-2 Compliance

Update the UBI 8 docker containers and supporting applications to support FIPS 140-2.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.