[OPEN-ILS-GENERAL] Connecting circ transactions to changingpatronprofile

Whalen, Liam Liam.Whalen at NRCan-RNCan.gc.ca
Fri Nov 18 15:16:43 EST 2011


That code misses some cases.  You'll need to catch cases where the user was only edited before the date range, but their profile in the most recent edit is the one needed.  And you'll need to catch cases where the user was only edited after the date range, but their profile in the oldest edit is the one needed.
 
Liam
 


________________________________

	From: open-ils-general-bounces at list.georgialibraries.org [mailto:open-ils-general-bounces at list.georgialibraries.org] On Behalf Of Whalen, Liam
	Sent: November 18, 2011 14:39
	To: Evergreen Discussion Group
	Subject: Re: [OPEN-ILS-GENERAL] Connecting circ transactions to changingpatronprofile
	
	
	You could use auditor.actor_usr_history.  This code will probably need some tweaking.
	 
	/*users where they had the required profile between the required dates */
	WHERE usr.id IN (SELECT DISTINCT usr.id 
	                            FROM auditor.actor_usr_history AS aauh
	                            WHERE aauh.profile = <id>
	                            AND aauh.audit_time BETWEEN <date1> AND <date2>)
	/*users who have only ever had the required profile*/
	OR usr.id IN (SELECT DISTINCT au.id
	                    FROM actor.usr AS au
	                    WHERE au.id NOT IN (SELECT DISTINCT aauh.id
	                                                      FROM auditor.actor_usr_history AS aauh)
	                    AND au.profile = <id>)
	 
	Liam

	Natural Resources Canada Library / Bibliothèque de Ressources naturelles Canada
	615 rue Booth Street, 121, Ottawa, ON
	Canada K1A 0E9
	Telephone / Téléphone : 613-995-4180
	lwhalen at nrcan-rncan.gc.ca
	Web: http://www.nrcan.gc.ca/library/
	

	 


________________________________

		From: open-ils-general-bounces at list.georgialibraries.org [mailto:open-ils-general-bounces at list.georgialibraries.org] On Behalf Of Melissa Belvadi
		Sent: November 18, 2011 14:21
		To: Evergreen Discussion Group
		Subject: [OPEN-ILS-GENERAL] Connecting circ transactions to changing patronprofile
		
		
		Hi, all. 

		We are an academic library who also offers "public" memberships to members of the community, with somewhat more restricted borrowing privileges than students have.  When students graduate, they are automatically converted to the "public" profile (literally changing their "profile" code in actor.usr) via batch update.  They keep the same barcode/id#, not assigned new cards, and thus the same id# in Evergreen. We currently have no expiration on public memberships and no procedure for doing so yet.

		We are now faced with wanting to know how many "active" members of the public we have, defining "active" as "users who have had some circ transaction activity within the last three years".

		The problem is that so far as I can tell, there is no record in the Evergreen tables as to when a user's profile code is changed. So if I just look in actor.usr at everyone who is a member of the "public" profile as of this moment, and find all of the transactions within the last 3 years in action.circulation that are connected to those users (a very simple sql query), I'll get mostly students who graduated within the last three years, whose circ activity took place when they were students, not as members of the "public".

		Am I missing something? Is there a table/field somewhere that can help me "join" so that I only retrieve those circ transactions that were done by users who were in the "public" profile" *at the time of the transaction* regardless of what that same user's profile assignment is at the time I'm running the query?


		Thanks for any help!

		-- 
		Melissa Belvadi
		User Experience & Collections Librarian
		University of Prince Edward Island
		mbelvadi at upei.ca 902-566-0581


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://libmail.georgialibraries.org/pipermail/open-ils-general/attachments/20111118/72460756/attachment.htm>


More information about the Open-ils-general mailing list