-
Notifications
You must be signed in to change notification settings - Fork 53
LIVD device sync
Merethe Hansen edited this page Jun 6, 2024
·
4 revisions
This page provides a walkthrough and tips on how to run a LIVD device sync in production.
- Go through the steps below in a lower environment to confirm it works before trying on prod
- (Highly recommended) Pair with other developers to ensure things look good before performing the sync in prod
- (Highly recommended) Start a Slack thread in the engineering Slack when running a device sync for record keeping
- other helpful information to post in a thread: # of devices added, # of devices changed/updated
- Hit the following API endpoint
.../api/devices/sync?dryRun=true
- As a
curl
command for prod, it would look like:curl --location 'https://www.simplereport.gov/api/devices/sync?dryRun=true' \ --header 'Authorization: Bearer yourToken'
- Or use an API testing tool of your choice
- As a
- Go to Azure with your su account and go to Application Insights for the environment you ran the dry run on
-
Go to "Logs"
-
Run a new query
traces | where message has "device created" or message has "updating device"
-
-
Check some of the devices being updated and created to make sure they look correct. Things to check:
- cross-reference the LIVD API
- check metabase for the environment you ran the sync in to ensure devices being created don't already exist
- check the blocklist to ensure no devices here are being created
- a device that is created can be updated in the same sync if they have multiple entries in the LIVD table (i.e. for multiplex devices, or if it has different equipment uids)
-
If the above looks, good hit the following API endpoint
.../api/devices/sync?dryRun=false
- As a
curl
command for prod, it would look like:curl --location 'https://www.simplereport.gov/api/devices/sync?dryRun=false' \ --header 'Authorization: Bearer yourToken'
- Or use an API testing tool of your choice
- As a
-
If a new specimen type was created during the sync (tip: check the table in Metabase for any newly created specimen types), notify the ReportStream team in the #shared-simple-report-universal-pipeline channel, providing them the name and code of the new specimen type.
- Example message: "Hello ReportStream folks! SimpleReport is now supporting a new specimen type
Plasma specimen
with type code119361006
for our results."
- Example message: "Hello ReportStream folks! SimpleReport is now supporting a new specimen type
- Getting Started
- [Setup] Docker and docker compose development
- [Setup] IntelliJ run configurations
- [Setup] Running DB outside of Docker (optional)
- [Setup] Running nginx locally (optional)
- [Setup] Running outside of docker
- Accessing and testing weird parts of the app on local dev
- Accessing patient experience in local dev
- API Testing with Insomnia
- Cypress
- How to run e2e locally for development
- E2E tests
- Database maintenance
- MailHog
- Running tests
- SendGrid
- Setting up okta
- Sonar
- Storybook and Chromatic
- Twilio
- User roles
- Wiremock
- CSV Uploader
- Log local DB queries
- Code review and PR conventions
- SimpleReport Style Guide
- How to Review and Test Pull Requests for Dependabot
- How to Review and Test Pull Requests with Terraform Changes
- SimpleReport Deployment Process
- Adding a Developer
- Removing a developer
- Non-deterministic test tracker
- Alert Response - When You Know What is Wrong
- What to Do When You Have No Idea What is Wrong
- Main Branch Status
- Maintenance Mode
- Swapping Slots
- Monitoring
- Container Debugging
- Debugging the ReportStream Uploader
- Renew Azure Service Principal Credentials
- Releasing Changelog Locks
- Muting Alerts
- Architectural Decision Records
- Backend Stack Overview
- Frontend Overview
- Cloud Architecture
- Cloud Environments
- Database ERD
- External IDs
- GraphQL Flow
- Hibernate Lazy fetching and nested models
- Identity Verification (Experian)
- Spring Profile Management
- SR Result bulk uploader device validation logic
- Test Metadata and how we store it
- TestOrder vs TestEvent
- ReportStream Integration
- Feature Flag Setup
- FHIR Resources
- FHIR Conversions
- Okta E2E Integration
- Deploy Application Action
- Slack notifications for support escalations
- Creating a New Environment Within a Resource Group
- How to Add and Use Environment Variables in Azure
- Web Application Firewall (WAF) Troubleshooting and Maintenance
- How to Review and Test Pull Requests with Terraform Changes