Skip to content

Commit

Permalink
Merge pull request #294 from masslight/develop
Browse files Browse the repository at this point in the history
release Euphrates v0.5
  • Loading branch information
GiladSchneider authored Jul 31, 2024
2 parents 6a06944 + 283ef33 commit e650eea
Show file tree
Hide file tree
Showing 57 changed files with 4,060 additions and 3,448 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-and-deploy-PRODUCTION.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:

- uses: pnpm/action-setup@v2
with:
version: 8
version: 9

- name: Install Vercel CLI
run: pnpm install --global vercel@latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-and-deploy-telemed-ehr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:

- uses: pnpm/action-setup@v2
with:
version: 8
version: 9

- name: Check out secrets repo to grab the env file.
uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-and-deploy-telemed-intake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:

- uses: pnpm/action-setup@v2
with:
version: 8
version: 9

- name: Check out secrets repo to grab the env file.
uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:

- uses: pnpm/action-setup@v2
with:
version: 8
version: 9

- name: Install Vercel CLI
run: pnpm install --global vercel@latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:

- uses: pnpm/action-setup@v2
with:
version: 8
version: 9

- name: Create secrets file from github secrets
id: create-json
Expand Down
5 changes: 3 additions & 2 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
save-exact = true
tag-version-prefix=""
save-exact=true
tag-version-prefix=""
link-workspace-packages=true
154 changes: 135 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,26 +69,10 @@ This command should display the installed Node.js version.

### Installing `pnpm`

To manage Node.js packages, we recommend using [pnpm](https://pnpm.io/).

#### Using Homebrew or NPM (macOS/Linux):

The easiest way to get started is to use the [brew](https://brew.sh/) or [npm](https://www.npmjs.com/) command:

```bash
brew install pnpm
npm install -g pnpm@9
```

OR

```bash
npm install -g pnpm
```

#### Manual Installation

Alternatively, you can install `pnpm` using the [official documentation](https://pnpm.io/installation).

### Joining Oystehr

You'll need a free Oystehr account to run Ottehr. Register for access at [oystehr.com](https://oystehr.com). Follow these simple steps:
Expand Down Expand Up @@ -147,7 +131,7 @@ Once the program finishes running,
1. The Intake and EHR websites will open.
1. To log in to the EHR, enter the email you input during the setup program. Click `Forgot password?` and set a password then log in.
The URL for a test location is http://localhost:3002/location/ak/in-person/prebook.
The URL for a test location is <http://localhost:3002/location/ak/in-person/prebook>.
## Scripts
Expand Down Expand Up @@ -177,5 +161,137 @@ Lints all packages using [ESLint](https://eslint.org/).
Interactively updates all dependencies to their latest versions, respecting ranges specified in `package.json`.
## Contribute to Ottehr!
## SendGrid Email Configuration
### Required Environment / Secrets
- SENDGRID_API_KEY
- TELEMED_SENDGRID_EMAIL_BCC
- TELEMED_SENDGRID_EMAIL_FROM
- TELEMED_SENDGRID_EMAIL_FROM_NAME
- TELEMED_SENDGRID_CONFIRMATION_EMAIL_TEMPLATE_ID
- TELEMED_SENDGRID_CANCELLATION_EMAIL_TEMPLATE_ID
- TELEMED_SENDGRID_VIDEO_CHAT_INVITATION_EMAIL_TEMPLATE_ID
**Example Confirmation Template:**
```html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>You're confirmed!</h2>
<p>Thanks for choosing Ottehr!</p><br>
<p>Your check-in time for {{ firstName }} at {{ locationName }} is on {{ startTime }}.</p><br>
<p>Please complete your paperwork in advance to save time at check-in. <a href="{{ paperworkUrl }}">Click here to complete paperwork</a></p><br>
{{#notEquals appointmentType "walkin"}}
<p><a href="{{ checkInUrl }}">Click here to modify/cancel your check-in</a></p><br>
{{/notEquals}}
<hr>
<p>Thank you for choosing Ottehr. We look forward to partnering with you and your family.</p><br>
<small>For questions or feedback, please <a target="_blank" href="https://www.ottehr.com/">Check out Ottehr</a></small>
</body>
</html>
```

**Example Cancellation Template:**
```html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>Sorry to have you go!</h2>
<p>Your appointment for {{firstName}} at {{locationName}} on {{startTime}} has been cancelled.</p><br>
<p><a href="{{ locationUrl }}">Click here to book again</a></p><br>
<hr>
<p>Thank you for choosing Ottehr. We look forward to partnering with you and your family.</p><br>
<small>For questions or feedback, please <a target="_blank" href="https://www.ottehr.com/">Check out Ottehr</a></small>
</body>
</html>
```

**Example Invitation Template:**
```html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>You're Invited!</h2>
<p>You have been invited to join an Ottehr visit with {{patientName}}.</p><br>
<p><a href="{{ inviteUrl }}">Click here to join</a></p><br>
<hr>
<p>Thank you for choosing Ottehr. We look forward to partnering with you and your family.</p><br>
<small>For questions or feedback, please <a target="_blank" href="https://www.ottehr.com/">Check out Ottehr</a></small>
</body>
</html>
```

## SendGrid Email Configuration

### Required Environment / Secrets
- SENDGRID_API_KEY
- TELEMED_SENDGRID_EMAIL_BCC
- TELEMED_SENDGRID_EMAIL_FROM
- TELEMED_SENDGRID_EMAIL_FROM_NAME
- TELEMED_SENDGRID_CONFIRMATION_EMAIL_TEMPLATE_ID
- TELEMED_SENDGRID_CANCELLATION_EMAIL_TEMPLATE_ID
- TELEMED_SENDGRID_VIDEO_CHAT_INVITATION_EMAIL_TEMPLATE_ID

**Example Confirmation Template:**
```html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>You're confirmed!</h2>
<p>Thanks for choosing Ottehr!</p><br>
<p>Your check-in time for {{ firstName }} at {{ locationName }} is on {{ startTime }}.</p><br>
<p>Please complete your paperwork in advance to save time at check-in. <a href="{{ paperworkUrl }}">Click here to complete paperwork</a></p><br>
{{#notEquals appointmentType "walkin"}}
<p><a href="{{ checkInUrl }}">Click here to modify/cancel your check-in</a></p><br>
{{/notEquals}}
<hr>
<p>Thank you for choosing Ottehr. We look forward to partnering with you and your family.</p><br>
<small>For questions or feedback, please <a target="_blank" href="https://www.ottehr.com/">Check out Ottehr</a></small>
</body>
</html>
```

**Example Cancellation Template:**
```html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>Sorry to have you go!</h2>
<p>Your appointment for {{firstName}} at {{locationName}} on {{startTime}} has been cancelled.</p><br>
<p><a href="{{ locationUrl }}">Click here to book again</a></p><br>
<hr>
<p>Thank you for choosing Ottehr. We look forward to partnering with you and your family.</p><br>
<small>For questions or feedback, please <a target="_blank" href="https://www.ottehr.com/">Check out Ottehr</a></small>
</body>
</html>
```

**Example Invitation Template:**
```html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>You're Invited!</h2>
<p>You have been invited to join an Ottehr visit with {{patientName}}.</p><br>
<p><a href="{{ inviteUrl }}">Click here to join</a></p><br>
<hr>
<p>Thank you for choosing Ottehr. We look forward to partnering with you and your family.</p><br>
<small>For questions or feedback, please <a target="_blank" href="https://www.ottehr.com/">Check out Ottehr</a></small>
</body>
</html>
```

## Contribute to Ottehr
We love it when you contribute to Ottehr! By submitting to this project, you agree to adopt the [Developer Certificate of Origin (DCO)](https://developercertificate.org/) for your contributions.
9 changes: 4 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ottehr",
"version": "0.4",
"version": "0.5.0",
"private": true,
"scripts": {
"test": "pnpm recursive run test",
Expand All @@ -24,9 +24,9 @@
"telemed-intake-deploy": "pnpm --filter=telemed-intake-app deploy ${ENV}",
"telemed-ehr-deploy": "pnpm --filter=telemed-ehr-app deploy ${ENV}"
},
"packageManager": "pnpm@8.7.6",
"packageManager": "pnpm@9.6.0",
"engines": {
"pnpm": ">=8.0.0",
"pnpm": ">=9.0.0 <10",
"node": ">=18.0.0"
},
"browserslist": {
Expand Down Expand Up @@ -105,7 +105,6 @@
"@mui/material": "^5.14.18",
"@mui/system": "^5.10.16",
"@mui/x-date-pickers": "^5.0.10",
"@playwright/test": "^1.39.0",
"@sentry/vite-plugin": "^2.10.2",
"@types/aws-lambda": "^8.10.109",
"@types/fhir": "^0.0.35",
Expand Down Expand Up @@ -152,4 +151,4 @@
"vitest": "^0.34.6",
"web-vitals": "^2.1.4"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ export const getVisitStatusHistory = <T extends AppOrEncounter>(resource: T): Vi
console.log(2, ext);
const reduced: VisitStatusHistoryEntry = (ext.extension ?? []).reduce(
(accum, currentExt) => {
console.log(1, currentExt);
if (currentExt.url === 'status') {
accum.status = currentExt.valueString as VisitStatus;
accum.label = accum.status ?? 'unknown';
Expand Down
6 changes: 3 additions & 3 deletions packages/ehr-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ehr-utils",
"private": true,
"version": "0.4",
"version": "0.5.0",
"main": "lib/main.ts",
"types": "lib/main.ts",
"scripts": {
Expand All @@ -13,10 +13,10 @@
"coverage": "vitest run --coverage"
},
"dependencies": {
"ottehr-utils": "*"
"ottehr-utils": "workspace:*"
},
"devDependencies": {
"@types/fhir": "^0.0.35",
"vite": "^4.3.9"
}
}
}
6 changes: 3 additions & 3 deletions packages/ottehr-components/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ottehr-components",
"private": true,
"version": "0.4",
"version": "0.5.0",
"main": "lib/main.ts",
"types": "lib/main.ts",
"scripts": {
Expand All @@ -14,6 +14,6 @@
},
"dependencies": {
"tsconfig": "*",
"ottehr-utils": "*"
"ottehr-utils": "workspace:*"
}
}
}
1 change: 1 addition & 0 deletions packages/telemed-ehr/app/env/.env.local-template
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,5 @@ VITE_APP_SAVE_CHART_DATA_ZAMBDA_ID=save-chart-data
VITE_APP_CHANGE_TELEMED_APPOINTMENT_STATUS_ZAMBDA_ID=change-telemed-appointment-status
VITE_APP_DELETE_CHART_DATA_ZAMBDA_ID=delete-chart-data
VITE_APP_GET_TOKEN_FOR_CONVERSATION_ZAMBDA_ID=get-token-for-conversation
VITE_APP_CANCEL_TELEMED_APPOINTMENT_ZAMBDA_ID=cancel-appointment
VITE_APP_QRS_URL=http://localhost:3002
4 changes: 2 additions & 2 deletions packages/telemed-ehr/app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "telemed-ehr-app",
"version": "0.4",
"version": "0.5.0",
"private": true,
"browserslist": {
"production": [
Expand Down Expand Up @@ -60,4 +60,4 @@
"@types/styled-components": "^5.1.34",
"@types/react-page-visibility": "^6.4.4"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ function InfoForDay({ day, setDay, updateItem, loading }: InfoForDayProps): Reac
function createOpenCloseBufferSelectField(type: 'Open' | 'Close', day: Day): ReactElement {
const typeVerb = type === 'Close' ? 'Closing' : 'Opening';
const typeLowercase = typeVerb.toLocaleLowerCase();
const bufferValue = type === 'Open' ? openingBuffer ?? '' : closingBuffer ?? '';
const bufferValue = type === 'Open' ? (openingBuffer ?? '') : (closingBuffer ?? '');

return (
<FormControl sx={{ marginRight: 2 }}>
Expand Down
1 change: 0 additions & 1 deletion packages/telemed-ehr/app/src/pages/Appointments.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,6 @@ function AppointmentsBody(props: AppointmentsBodyProps): ReactElement {
} else {
localStorage.removeItem('selectedVisitTypes');
}
console.log(1, value);
if (handleSubmit) {
handleSubmit(event as any, value, 'visittypes');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ export function TrackingBoardTabs(): ReactElement {
};

const apiClient = useZapEHRAPIClient();
console.log(1, providers, groups, 4);

const { isFetching, isFetchedAfterMount } = useGetTelemedAppointments(
{
Expand Down
8 changes: 2 additions & 6 deletions packages/telemed-ehr/zambdas/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "telemed-ehrzambdas",
"version": "0.4",
"version": "0.5.0",
"private": true,
"scripts": {
"start": "npm run start:local",
Expand All @@ -19,10 +19,6 @@
"package": "tsc && sls package && npm run rebundle",
"rebundle": "bash scripts/package-for-release.sh"
},
"engines": {
"npm": ">=8.0.0",
"node": ">=18.0.0"
},
"dependencies": {
"@aws-sdk/client-s3": "^3.272.0",
"@sendgrid/mail": "^7.7.0",
Expand All @@ -38,4 +34,4 @@
"esbuild": "^0.18.14",
"serverless-esbuild": "^1.48.0"
}
}
}
Loading

0 comments on commit e650eea

Please sign in to comment.