Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
5fd1a15
Setting rollback start and end time pk query to same sub day value
landonshumway-ia Jul 9, 2026
6172cae
Add previousSSN fields to ingest API spec
landonshumway-ia Jul 9, 2026
09de40e
Update ingest stack to reference provider user pool and email service
landonshumway-ia Jul 9, 2026
1a85a2f
Update bulk upload to check for flag and new field
landonshumway-ia Jul 9, 2026
7e61065
Update license API endpoint to check for flag and new field
landonshumway-ia Jul 9, 2026
f433081
Perform migration of records from old SSN to new SSN
landonshumway-ia Jul 9, 2026
9c2eaf6
Add email template for re-registration
landonshumway-ia Jul 9, 2026
3da82b1
Moving objects in provider s3 bucket from old to new keyspace
landonshumway-ia Jul 9, 2026
615fbc8
Add feature flag for previousSSN field
landonshumway-ia Jul 9, 2026
b7292f0
Remove old feature flag for home jurisdiction change notification
landonshumway-ia Jul 9, 2026
1b426ed
Feedback - mask practitioner emails in logs
landonshumway-ia Jul 9, 2026
6dfbf4c
node linter fixes
landonshumway-ia Jul 9, 2026
2bd5ea7
Break out migration transactions for replay-ability
landonshumway-ia Jul 10, 2026
010d093
rename from teardown to migration
landonshumway-ia Jul 13, 2026
fd791f1
make feature flag scaffolding easier to remove
landonshumway-ia Jul 13, 2026
28a166d
Add smoke test suite for SSN migration verification
landonshumway-ia Jul 13, 2026
3a146d4
formatting
landonshumway-ia Jul 13, 2026
9651897
Migration refinements to add guards and contextual logging
landonshumway-ia Jul 14, 2026
8c41f7f
Feedback - add race condition check for top level provider creation
landonshumway-ia Jul 14, 2026
a8b5a85
feedback - smoke test improvements
landonshumway-ia Jul 14, 2026
fdb2c62
feedback - cleanup app client if auth failure occurs
landonshumway-ia Jul 14, 2026
645abca
feedback - update email body to include note about privileges
landonshumway-ia Jul 14, 2026
7e9b368
Add note to README FAQ about how to correct SSN for provider
landonshumway-ia Jul 14, 2026
5862b75
Suppress email notification to smoke test staff users
landonshumway-ia Jul 14, 2026
2c0951f
Update API specs to latest
landonshumway-ia Jul 14, 2026
d7f72de
Increase lambda timeouts to account for migration API calls
landonshumway-ia Jul 14, 2026
88ac593
Move S3 objects before DynamoDB transactions for replayability
landonshumway-ia Jul 14, 2026
e1082da
update comment
landonshumway-ia Jul 14, 2026
610870c
Add error log alarm for ingest handler
landonshumway-ia Jul 14, 2026
6db47d0
refresh test staff tokens on 401 in smoke tests
landonshumway-ia Jul 15, 2026
63ec88f
Feedback - remove dead guard checks
landonshumway-ia Jul 15, 2026
730461e
Add micro unit tests for get_records_associated_with_license method
landonshumway-ia Jul 15, 2026
306f579
update wording for email based on feedback
landonshumway-ia Jul 16, 2026
44b3b09
Reject previousSSN requests if flag is disabled
landonshumway-ia Jul 16, 2026
968e907
feedback - test/comment updates
landonshumway-ia Jul 21, 2026
682ceee
Apply license rollback fix to all compact folders
landonshumway-ia Jul 21, 2026
d52c6aa
feedback - test/comment refinement
landonshumway-ia Jul 21, 2026
7f467ca
feedback - add warning to README about incorrect SSNs
landonshumway-ia Jul 21, 2026
5fa30af
formatting/linter
landonshumway-ia Jul 21, 2026
b7948e6
feedback - update test method name
landonshumway-ia Jul 22, 2026
df1f7c9
Update backend/compact-connect/lambdas/python/common/tests/function/t…
landonshumway-ia Jul 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion backend/compact-connect/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ leave the field entirely empty. If some of your licenses are missing a required
| middleName | Provider's middle name (optional) | String (max 100 chars) | Robert |
| npi | National Provider Identifier (optional) | 10-digit number | 1234567890 |
| phoneNumber | Provider's phone number (optional) | [ITU-T E.164 format](https://www.itu.int/rec/T-REC-E.164-201011-I/en) (must include country code, no spaces or dashes) | +12025550123 |
| previousSSN | The incorrect Social Security Number previously uploaded for this license (optional). Provide this along with the corrected `ssn` to fix a license record that was uploaded with the wrong SSN: the system moves the license record and any privileges purchased against it over to the provider associated with the corrected SSN. If the corrected license was the only license under the incorrect SSN, that duplicate provider account is removed and the practitioner is emailed to register again. | Format: XXX-XX-XXXX | 123-45-6789 |
| suffix | Provider's name suffix (optional) | String (max 100 chars) | Jr. |
** This field is required by compact commission rule, however, to avoid making a breaking change for states that are already integrated, the API does not enforce this rule. States are responsible for enforcing the compact rule themselves.
#### Example CSV
Expand Down Expand Up @@ -107,7 +108,13 @@ If data is not available for a required field, that particular license record ca

### Can we upload the same licenses multiple times? What if their information changes?

Yes. CompactConnect is designed to automatically detect and track changes to license records over time. When you upload a license record, CompactConnect will determine if the record currently exists in the CompactConnect database using the provided SSN to match with any existing licensee in the system, and create the record if not found. If the license record already exists, CompactConnect will check the differences between the existing record in the system and changes uploaded by the state, and apply the changes accordingly.
Yes. CompactConnect is designed to automatically detect and track changes to license records over time. The Social Security Number (SSN) is the unique identifier CompactConnect uses to create and match individual practitioner accounts. When you upload a license record, CompactConnect uses the provided SSN to determine whether that practitioner already has an account in the system, creating one if not found. If the practitioner's account already exists, CompactConnect will check the differences between the existing license record and the changes uploaded by the state, and apply the changes accordingly.

Because accounts are matched on SSN, simply changing the SSN in your state's system and then uploading the corrected license will **not** update the practitioner's existing CompactConnect account. It will create a brand new, separate account under the new SSN and leave the original account (and any privileges tied to it) unchanged. If a license was previously uploaded with an incorrect SSN, use the `previousSSN` field (see the field table above) when uploading the corrected SSN so CompactConnect can migrate the practitioner's existing account instead of creating a duplicate.
Comment thread
jlkravitz marked this conversation as resolved.

> **⚠️ Verify SSNs before you upload.** The SSN is the sole identifier CompactConnect uses to match a license to a practitioner's account, and every downstream consequence of an upload (account creation, privilege eligibility, public lookup, etc.) follows from it. Uploading an incorrect SSN is not a low-risk mistake to leave unaddressed, as it silently creates or attaches records to the wrong account, fragmenting the practitioner's licensure history and leaving privileges tied to whichever account was in place at the time they were purchased.
>
> Correcting an SSN with `previousSSN` is itself a significant action which migrates (moves) the affected license and any privileges purchased against it to the account associated with the corrected SSN and forces the practitioner to re-register if they have already registered under the account with the incorrect SSN. Because of this, during onboarding testing before a state begins uploading licenses into the production account, it is imperative that the state verify there is no issue with the internal process or data pipeline that sends licensure data to CompactConnect which could result in incorrect or inconsistent SSNs being uploaded, so that this feature is not relied upon to routinely correct otherwise avoidable upload errors.

### Which of these license values will be publicly visible?

Expand Down
Loading
Loading