This is an old revision of the document!
Patrons are normally registered via the EG staff client, by staff at the circ desk (docs). We also have custom scripts for importing patron records from student management systems for a few post-secondary libraries. There's no official API or process specifically intended to enable third-party applications to create/import/validate patron records (EG needs more third-party-friendly APIs generally), but there's a feature request to include a standard import script: LP#1786524
Several other Evergreen consortia (PINES and KCLS) use Quipu's eCARD product which has some overlap with BC Services Card use cases. There's been some effort to bring their Quipu integration into mainline Evergreen, ideally in a generic way that could also support similar products: LP#1902937
Evergreen also has a patron self-registration feature (main docs / admin docs). We're not using it, but it's a good fit for this project; if nothing else, it provides a model for how to go about creating patron-initiated "pending" accounts in EG.
There's also a feature request for patron address validation using third-party services: LP#1569889
There is a lack of good documentation on how external applications can use EG's existing APIs, in part because those APIs were primarily designed to be used by EG's own component services. It would be worth investing in better documentation (and more user-friendly APIs, especially for creating/updating patron accounts).
Here's an entity relationship diagram for the database tables that store patron information (click to enlarge):
A few notes:
While our initial focus is on validating potential Sitka patrons via the BC Services Card, actually making this work will require standing up some sort of SAML server on our end and liasing with the BC Services Card to integrate. There are approx 20 other BC libraries using ±4 other ILS who, if they also wanted to offer validation via the Services Card, would need to standup similar SAML servers. So a secondary goal of this project is to see if we can architect our solution in such a way as it is the sector-wide integration against the Services Card, with us doing integration with the libraries. To that end, I asked other libraries (via the BC Libraries and IT list) to share any API docs they might have that can inform the consultants in architecting a solution. Below is what resulted:
Non-Evergreen ILS in BC | Library Name | Expressed Interest |
---|---|---|
Innovative Polaris | Coquitlam Public Library | x |
Okanagan Regional Library | ||
Innovative Sierra | Fraser Valley Regional Library | |
Richmond Public Library | x | |
Thompson-Nicola Regional District Library | ||
Vancouver Island Regional Public Library | ||
West Vancouver Memorial Library | ||
SirsiDynix Horizon | Burnaby Public Library | x |
Cranbrook Public Library | ||
New Westminster Public Library | ||
North Vancouver District Library | ||
Penticton Public Library | ||
Port Moody Public Library | ||
Surrey Public Library | x | |
Vancouver Public Library | x | |
SirsiDynix Symphony | Greater Victoria Public Library | x |
North Vancouver City Library | ||
Powell River Public Library | ||
Prince George Public Library |