Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/virgilsecurity/ionic-demo-healthcare
Simple web application that illustrates how distinct roles within a customer's application can be defined and used to restrict ePHI access in a HIPAA-compliant manner based on Ionic's Policy Engine
https://github.com/virgilsecurity/ionic-demo-healthcare
ephi healthcare hipaa ionic
Last synced: 2 months ago
JSON representation
Simple web application that illustrates how distinct roles within a customer's application can be defined and used to restrict ePHI access in a HIPAA-compliant manner based on Ionic's Policy Engine
- Host: GitHub
- URL: https://github.com/virgilsecurity/ionic-demo-healthcare
- Owner: VirgilSecurity
- Created: 2019-04-15T14:57:05.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T16:15:13.000Z (about 2 years ago)
- Last Synced: 2024-04-08T09:10:38.803Z (9 months ago)
- Topics: ephi, healthcare, hipaa, ionic
- Language: TypeScript
- Homepage:
- Size: 2.18 MB
- Stars: 3
- Watchers: 15
- Forks: 1
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ionic Healthcare Demo
The Demo App is a simple web application that illustrates how distinct roles within a customer's application can be defined and used to restrict ePHI access in a HIPAA-compliant manner. The Demo App is based on use case involving a hypothetical business scenario involving a patient, physician and insurance provider. Read more in our [quickstart guide](https://virgil.atlassian.net/wiki/spaces/VI/pages/1079083143/Healthcare+Quickstart+Guide?atlOrigin=eyJpIjoiZWI0MWNiNzVhMWVkNDNkZmEzMzJkNTE2ZmEwYmZmOWMiLCJwIjoiYyJ9).
## Prerequisites
- Node.js >= 10 is required
- Ionic and AWS credentials
- Supported browsers: Chrome, Firefox, Safari, Opera.### Ionic credentials
- [Create and configure an Ionic Account](https://virgil.atlassian.net/wiki/spaces/VI/pages/1079083092/Create+and+Configure+Ionic+Account)
- [Configure the Ionic Enrollment service to support a SAML Assertions](https://virgil.atlassian.net/wiki/spaces/VI/pages/1107263521/Configuring+an+Enrollment+Server+to+Support+a+SAML+Assertions)### AWS credentials
1. Create an [AWS account](https://portal.aws.amazon.com/billing/signup) to store your app's encrypted data
2. Create an _Access Key_ for your AWS user. Use this guide to [get your AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).## Configure and Run the Demo
- Clone the Demo application:
```
git clone https://github.com/VirgilSecurity/ionic-demo-healthcare.git
```- Using the command line interface, copy the file `.env.example` under the name `.env`:
```
# for FreeBSD / Linux / Mac OS:
cp .env.example .env# for Windows OS:
copy .env.example .env```
- Fill in the Ionic and AWS values inside of .env file. The following environment variables must be defined to run the server:| Variable Name | Description |
| ------------- | ------------ |
| IONIC_ENROLLMENT_ENDPOINT | URL of your Ionic Enrollment Server. Used for SAML assertion generation |
| IONIC_IDP_PRIVATE_KEY_PATH | Path to private key file (PEM) to use to sign SAML assertions |
| IONIC_TENANT_ID | Your Ionic tenant ID |
| IONIC_API_AUTH_TOKEN | Your Ionic API Key Secret Token (for accessing Management API). Must include SCIM User and Group management scopes |
| AWS_ACCESS_KEY_ID | Your AWS Access Key ID. This is read by the `aws-sdk` to authenticate requests to DynamoDB |
| AWS_SECRET_ACCESS_KEY | Your AWS Access Secret Key. This is read by the `aws-sdk` to authenticate requests to DynamoDB |- Install dependencies:
```
npm install
```- Run the `setup` script:
```
npm run setup
```- The `setup` script created three groups in Ionic Dashboard: _Patients_, _Physicians_ and _Insurers_.
> The "setup" script also created Ionic _Data Marking Values_ and _Data Policies_ in Ionic Dashboard. To learn more about groups, data markings and data policies, explore the Quickstart guide.
- Run the Demo with the following command:
```
npm start
```
- Browse to http://localhost:8080 to explore the Demo and see how the Ionic Policy Engine can be used to grant data access via encryption keys to users based on the Data Policy logic.