Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tannerbyers/bassoon
A demo EDI clearinghouse for processing EDIFACT transactions built with AWS CDK & TS
https://github.com/tannerbyers/bassoon
Last synced: about 1 month ago
JSON representation
A demo EDI clearinghouse for processing EDIFACT transactions built with AWS CDK & TS
- Host: GitHub
- URL: https://github.com/tannerbyers/bassoon
- Owner: tannerbyers
- License: mit
- Created: 2024-07-30T16:45:11.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-07-31T12:05:37.000Z (5 months ago)
- Last Synced: 2024-07-31T22:04:01.933Z (5 months ago)
- Language: TypeScript
- Size: 332 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Bassoon - A fun cloud based EDI clearinghouse
---
## Table of Contents
- [FAQ](#faq)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Useful Links](#useful-links)## FAQ
Q: What makes it fun?
A: It's fast, open source and doesn't use X12 (because mandated healthcare standards that are paywalled behind insane licensing fees are not fun)
Q: Should I use this at work?
A: Bassoon is a great starting point for processing EDIFACT files in the cloud but it is nowhere near production ready. Sev-1's are not fun.
## Features
### 1. Document Management
- [ ] **Storage**: S3
- [ ] **Search**: DynamoDB### 2. EDI Protocols and Standards
- [ ] **Supported Protocol**: EDIFACT (initial implementation)
- [ ] Note: X12 will not be supported due to proprietary constraints.
- [ ] **Transaction Type**: Starting with purchase orders (ORDERS)### 3. EDI Transaction and Community Management
- [ ] **Document Tracking and Searching**
- [ ] **Duplicate Checking**
- [ ] **Trading Partner Management**
- [ ] Group/Label
- [ ] Lookup
- [ ] Configurable Setup: Fields include name, ID, transaction version, transaction type, and status.### 4. EDI Translation and Mapping
- [ ] **Automated Acknowledgment Generation**
- [ ] **Bulk/Batch Data Loading**
- [ ] **Enveloping and De-enveloping Message Services**
- [ ] **Message Parser**
- [ ] **Rules-Based Routing**
- [ ] **Validation Rules**### 5. Integrations and Extensibility
- [ ] **Extensibility**
- [ ] **Future Integrations**### 6. Platform Capabilities and Security
- [ ] **Audit Logs**
- [ ] **Dashboards**
- [ ] **Data Masking**: Mask sensitive data in transit and at rest, especially PHI fields.
- [ ] **Encryption**: Encrypt data in transit and at rest using AWS KMS.
- [ ] **Compliance**: Ensure compliance with FIPS 140-2, GDPR, ISO, and SOC standards.
- [ ] **MIC Algorithms**: Support for SHA1 and MD5.
- [ ] **Pre-Built Reports**:
- [ ] Number of transactions
- [ ] Number of transactions rejected
- [ ] Number of transactions processed (daily, weekly, monthly)
- [ ] **Role-Based Access Control**: Using AWS IAM
- [ ] Roles: Guest (view report URLs), Users (configure trading partners), Admins (configure everything)
- [ ] **Single Sign-On (SSO)**
- [ ] **System Notifications and Alerts**: Real-time notifications and alerts via email.## Installation
1. **Clone the Repository**
```sh
git clone https://github.com/yourusername/bassoon.git
cd bassoon
```2. **Install Dependencies**
```sh
npm install
```3. **Deploy the Infrastructure**
```sh
npx cdk deploy
```## Usage
1. **Configure Trading Partners**
- Set up trading partners with necessary fields such as name, ID, transaction version, transaction type, and status.2. **Process Transactions**
- Upload EDIFACT transactions to the configured S3 bucket.
- Monitor transaction processing via dashboards and audit logs.3. **Access Reports**
- View pre-built reports on the number of transactions, rejected transactions, and processed transactions over various periods.## Contributing
Contributions are welcome! Please follow these steps:
1. **Fork the Repository**
2. **Create a Branch**
```sh
git checkout -b feature/your-feature
```3. **Commit Your Changes**
```sh
git commit -m 'Add some feature'
```4. **Push to the Branch**
```sh
git push origin feature/your-feature
```5. **Open a Pull Request**
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Useful Links
- [EDI Requirements](https://www.selecthub.com/electronic-data-interchange/edi-requirements/#3_EDI_Transaction_and_Community_Management)
- [EDIFACT Message Formats](https://www.edi-plus.com/resources/message-formats/edifact/)
- [ts-edifact GitHub Repository](https://github.com/RovoMe/ts-edifact)
- [UNECE EDIFACT Standard](https://service.unece.org/trade/untdid/d00a/trmd/impdef_c.htm)