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
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:
Further features that psypact shares with other compacts, which can be extracted during psypact implementation, include:
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:
Also note that integrating these libraries