linuxforhealth / connect-r-and-d Goto Github PK
View Code? Open in Web Editor NEWLinux For Health Connectors for Inbound Data Processing
License: Apache License 2.0
Linux For Health Connectors for Inbound Data Processing
License: Apache License 2.0
Provide documentation focused on Linux For Health Development. Topics include:
Be able to store records via IPFS.
Create a "quick start" script to provision LFH services and applications on Open Shift using the "oc" CLI with it's "reasonable defaults"
Implement the EIP control bus pattern to support starting/stopping routes while the application is running.
https://camel.apache.org/components/latest/controlbus-component.html
Add privacy-preserving inter-enterprise public messaging bus support
Review consumer and producer configurations to ensure that:
Update the route processing workflow to include an error handler which directs messages to a "dead letter queue/topic".
Implement a continuous integration process which executes the Linux for Health test suite when a PR is submitted on GitHub.
Features include:
Build only a subset of routes to limit dependencies and limit the size of the image.
Support:
Update Linux for Health to support the user authentication and authorization using the OpenID and OAuth2 standards.
Features:
Use protobuf for flexibility and speed
Support secure inbound/outbound communications using the following:
Update Linux for Health to support the the three healthchecks Camel provides "out of the box"
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.
Enable deserialization of data from Kafka into multiple notification formats based on the downstream messaging target.
Encapsulate the data storage and messaging steps in a direct route.
Integrate property file validation so that warnings or errors are reported prior to application startup.
Update the FHIR R4 route to support transmission to multiple destinations including FHIR Server, SQL on FHIR, etc.
Generate data destinations/targets using Camel EIP - (maybe routing slip?)
Add support for consent management via Role-Based Access Control [RBAC]
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.
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 our Camel version to 3.4.0 to support recent changes we made to the upstream project for package scanning.
The Linux for Health CD pipeline creates and uploads a Linux for Health connect image to Dockerhub when a new release is generated.
Features
Review https://openjdk.java.net/jeps/123 to determine if the Linux for Health base java container can utilize the default /dev/random generator rather than /dev/urandom. Historically containerized java applications have specified /dev/urandom as a system property to resolve issues with application startups.
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.
This will allow Camel to start even if a component-connected service is down.
Support Client Certificate Validation Within LFH using x509 client certificates.
Support LinuxOne, AWS, Azure & IoT deployments
AWS
Elastic Container Service - https://aws.amazon.com/ecs/
K8's https://aws.amazon.com/eks/
OpenShift https://aws.amazon.com/quickstart/architecture/openshift/
Azure
Azure Container Service https://azure.microsoft.com/en-us/product-categories/containers/
Azure K8's https://azure.microsoft.com/en-us/services/kubernetes-service/
OpenShift https://www.openshift.com/products/azure-openshift
Linux One - Openshift https://www.ibm.com/it-infrastructure/linuxone/capabilities/linux-containers
IoT - Use a Raspberry Pi for a reference deployment
Implement a route for Blue Button 2.0. Handle authorization and conversion from FHIR R3 to R4.
The s309x architecture is required for LinuxOne VMs
Allow for additional docker-compose.yml files for component-connected services beyond Kafka and NATS.
consider including guidance on using an env var for Jasypt master password, e.g. sysenv:CAMEL_ENCRYPTION_PASSWORD.
Include Postgres SQL as a Linux for Health integration option.
Features:
Notes:
Support the following for MVP:
we need to figure out the best mode DICOM and PAC connectors for image processing.
In addition to user authentication, provide Camel route-level authorization using OAuth2 scopes.
Generate the longitudinal patient record from the data store records.
Use NATS messaging to track every event that occurs in Linux for Health.
Features:
docker-compose logs
). Alternately, consider 1 NATS audit topic for all LFH events & evaluate pros/cons.we need to ascertain the De-ID at the KAFKA level. need a baseline approach such at ARK which is apache 2.0
The current camel component for NATS messaging supports at-most-once delivery. To mitigate this, add Camel support for NATS JetStream. JetStream is the NATS.io persistence engine that will support streaming as well as traditional message and worker queues for At-Least-Once delivery semantics.
https://github.com/nats-io/jetstream
ray is a distributed computing machine learning framework currently for RNN / CNN usage although its being modified to support other algorithms
Update the UBI 8 docker containers and supporting applications to support FIPS 140-2.
Add enterprise-grade Ethereum client that supports private transactions
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.