Skip to content

All Compacts - estimate common library extraction #1900

Description

@dylanmrowe

Some initial notes -

A good portion of this extraction can be done in psypact budget, without significant extra work. It's already necessary to compare Psypact's data model to our other projects so we know what code to copy over - therefore, when copying the needed functions and schemas, I'm simply copying them into a /common-python module, which is consumed by psypact. Psypact can then extend these schemas/functions as necessary for it's unique needs.

I've already started the process of code extraction for things like:

  • license dynamo schemas (most fields are shared across all compacts)
    • CompactConnect: optional npi, optional licenseNumber
    • Cosmetology (and social-work): required licenseNumber, no npi
    • Social-work also adds licenseScope (single/multi-state) — PsyPact Licensures has no equivalent
  • read-time calculation of priveleges (psypact uses the same approach as cosmetology)
  • disciplinary action dynamo schemas

Further features that psypact shares with other compacts, which can be extracted during psypact implementation, include:

  • staff login flows,
  • public & staff search,
  • deactivation,
  • encumbering a license,
  • investigating a license,
  • state & compact settings management,
  • notifications

We will need to take care not modify the extracted code, but only extend it for psypact's unique needs, to make re-integration with each compact as low-cost as possible, when it comes to that.

Extractions that will need to happen outside of psypact budget, if at all:

  • state license upload (dieticians)?
  • ...

Also note that integrating these libraries

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions