-
Notifications
You must be signed in to change notification settings - Fork 72
ENG-306: Initial Surescripts client implementation #3885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
keshavsaharia
merged 225 commits into
develop
from
eng-306-surescripts-command-for-plf-file-generation
Jun 13, 2025
Merged
ENG-306: Initial Surescripts client implementation #3885
keshavsaharia
merged 225 commits into
develop
from
eng-306-surescripts-command-for-plf-file-generation
Jun 13, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
metriport/metriport-internal#1040 refs. ENG-194 Signed-off-by: Keshav Saharia <keshav@metriport.com>
…ute global scope metriport/metriport-internal#1040 refs. ENG-194 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 refs. ENG-194 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 refs. ENG-194 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 refs. ENG-194 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 refs. ENG-194 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 refs. ENG-194 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 refs. ENG-194 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 refs. ENG-194 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 refs. ENG-306 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 refs. ENG-306 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
…h testing metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
metriport/metriport-internal#1040 Signed-off-by: Keshav Saharia <keshav@metriport.com>
7 tasks
3 tasks
5 tasks
This was referenced Jul 18, 2025
This was referenced Jul 25, 2025
Closed
Merged
Merged
This was referenced Aug 3, 2025
This was referenced Aug 13, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a draft for the initial implementation of the Surescripts client. This combines the initial testing scripts and validation work from the ENG-194 branch into a proper Surescripts client, with full unit testing and robust SFTP error handling.
Issues:
Dependencies
Description
This creates a
SurescriptsSftpClient
class, which provides an abstraction layer for producing messages in the Surescripts pipe-delimited format for SFTP bulk transfers.Testing
Local: You should not test Surescripts locally. Surescripts has white-listed the specific IP addresses associated with outbound traffic from our staging VPC for their SFTP sandbox, and production IP addresses for their production SFTP endpoint. Furthermore, the credentials for authenticating with Surescripts should be loaded from AWS Secrets Manager only.
Staging:
There are commands and tests located within the
sftp
directory, as well as thesurescripts
extension of the baseSftpClient
implementation. These must be executed from a compute resource (Lambda, EC2) within the staging VPC. The simplest way to test the client against the Surescripts SFTP sandbox is:metriport
directory (a semi-initialized git clone of this repository)metriport-surescripts-replica-staging
bucket to ensure that generated files are present and meet manual validationexternal/sftp
directory (npx jest -- external/sftp
)[ TODO ]
Release Plan
This client implementation currently only interacts with the
metriport-surescripts-replica-[staging|production]
buckets, and provides an initial implementation for the associated Lambda functions from theSurescriptsNestedStack
in the CDK.Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Tests
Chores