City Council Meeting - FINAL


Print Agenda Item PDF Return to the Search Page Return to the Agenda Copy Staff Summary Report
  10.A.       
Meeting Date: 02/06/2024  
From: Rick Tadder, Management Services Director

Information
TITLE:
Consideration and Adoption of Ordinance No. 2024-02: An ordinance of the City Council of the City of Flagstaff, amending the Flagstaff City Code, Title 3 Business Regulations, Chapter 3-10 User Fees, Section 3-10-001-0004 Police Department to revise existing fees and add a new fee for Body Camera Video Review and Redaction; providing for penalties, repeal of conflicting ordinances, severability, providing for clerical corrections, and establishing an effective date
STAFF RECOMMENDED ACTION:
1) Read Ordinance No. 2024-02 by title only for the final time
2) City Clerk reads Ordinance No. 2024-02 by title only (if approved above)
3) Adopt Ordinance No. 2024-02
Executive Summary:
The Arizona State Legislature adopted a new law, A.R.S. § 39-129 that went into effect on October 30, 2023.  This new law allows City’s to impose a fee for the reviewing and redacting of body camera videos when requested under a public records request. 
 
Prior to the enactment of § 39-129, local law enforcement agencies were prohibited from charging fees for the reviewing and redacting of body camera footage when requests were made under public records law.  The new statute sets the maximum amount for the hourly fee at $46.00 per hour.  The Flagstaff Police Department is requesting the hourly fee be set at the maximum of $46.00 per hour. 

In addition, we are updating the language formerly titled Copies of Tapes to Digital Media to support multiple ways the City can provide the information to the requestor.  
Financial Impact:
The new fee for Body Camera Video Review and Redaction will provide additional revenues to the City's General Fund for services provided.  Staff spent over 200 hours redacting videos from July 2022 to July 2023.  At this level of service, the City would collect over $9,200 in revenue for the service. This is not the full cost of the service provided as the State of Arizona has placed a maximum of $46.00 per hour.  
Policy Impact:
The City Council is currently considering a Citywide Cost Recovery Policy.  A service like this is generally more aligned with an Individual Benefit and the fee would be considered between 80-100% of the service cost.  
Connection to PBB Priorities/Objectives, Carbon Neutrality Plan & Regional Plan:
Priority Based Budget Key Community Priorities and Objectives
High Performing Governance: Maintain the organization’s fiscal stability through strong financial policies and best practices.

Regional Plan
Goal PF.3. Provide high-quality emergency response and public safety services including law enforcement, fire, medical, and ambulance transport service.
Has There Been Previous Council Decision on This:
No.
Options and Alternatives:
  • Adopt the Ordinance as recommended by staff.
  • Amend the Ordinance for an amount below the $42.00 per hour maximum rate. 
  • Do not adopt the Ordinance and continue to provide this service for only the cost of the digital media fee.
Background and History:
The Arizona State Legislature adopted a new law, A.R.S. § 39-129 that goes into effect on October 30, 2023.  This new law allows Cities to impose a fee for the reviewing and redacting of body camera videos when the footage is requested under a public records law. Prior to the enactment of § 39-129, local law enforcement agencies were prohibited from charging fees for the reviewing and redacting of body camera footage when requests were made under public records law.  The new statute sets the maximum amount for the hourly fee at $46.00 per hour.  

In the last fiscal year from July 2022 to June 2023, the Flagstaff Police Department received approximately 136 public records requests involving body camera videos.  The number of videos can vary per each request.  Each officer involved in an incident usually is recording, therefore the more officers who are present the more videos there are to review.  Some reports can contain one video, and some can contain 10 or more videos.  The length of the videos can also vary from 10 to 30 minutes to up to over an hour of footage.  One request can take 30 minutes to an hour to review while others can take over 10 hours to review.  Of those 136 requests the time it took just to review to the videos to determine what should be redacted took over 200 hours (this is just reviewing time and does not including the time it takes to redact and download the videos).  

A request is made by the public either online or in person at the records counter for video connected to a particular report, investigation or contact with law enforcement.  The request may sometimes ask for all reports and videos involving certain people as well.  That request is processed by the records department and then forwarded to the legal advisor for initial review of the videos. 
 
Legal does the initial review as the decision on what can legally be redacted is based upon public records law, including statutes and case law that needs to be interpreted and applied to each individual case.  If there is a challenge to what has been redacted the requestor can file an action in court against the City claiming the City improperly withheld public information.  Once the initial review is conducted then a list of legally defensible and necessary redactions is provided to the Records Supervisor to redact from the videos prior to their being released to the requestor.
 
The redactions are usually done by the records manager or the records lead technician. The time it takes to make redactions depends on how many are necessary on a given video.  The more redactions that are needed results in more time taken to redact the videos.  The employees making the redactions will take the list and review the portions of the video before and after the necessary redactions to ensure all the information that should be legally redacted is removed.  Redactions can include removing audio from the videos as well as blurring or blacking out the picture. (we blur or black out images that show deceased or injured individuals, juveniles or where protected information can be seen) 
 
It is estimated it takes about 75% of the length of the video to complete the redactions.  For example, it will take approximately 45 minutes to redact a video that is an hour long. Once redactions are made then the redacted videos are downloaded and placed on CD’s or a thumb drive depending on the length and number of videos.  It takes considerably longer to download and burn a video to a CD.  For an hour-long video, it takes approximately 20 minutes to download to a CD whereas it takes about 3 minutes to transfer downloads to a thumb drive.  Both the Records Supervisor and Lead Records technician have had their disc drives replaced in their computers due to overuse.    
 
The approximate labor cost of the Police Department’s Records Lead is $37.06/hour, the Records Supervisor approximate labor cost is $42.53/hour, and the Legal Advisor’s approximate labor cost is $118.53/hr.  The total approximate hourly cost of reviewing, redacting, and copying body-camera videos is between 155.59/hour to $161.06/hour.  This does not include any other costs related to the use of equipment or digital media.  Therefore, setting the fee at the maximum allowed under the law at $46.00 per hour which is reasonable as is required under the statue. 
Attachments
Ord. 2024-02
Notice of Proposed New Rate or Fees
Report on Body Camera Fee
Presentation


Debugging Information
ColdFusion Server Standard 2016,0,16,320445
Template /public/publish/histLink_agmemo.cfm
Time Stamp 20-May-24 09:03 PM
Locale English (US)
User Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Remote IP 10.20.230.5
Host Name 10.20.230.5


Execution Time

Total Time Avg Time Count Template
250 ms 250 ms 1 top level D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm
219 ms 219 ms 1 D:/inetpub/PublicPages/public/publish/agpub_agm_dsp.cfm
188 ms 188 ms 1 D:/inetpub/PublicPages/public/publish/include_ag_memo.cfm
63 ms 63 ms 1 D:/inetpub/PublicPages/public/publish/include_levels.cfm
16 ms 16 ms 1 D:/inetpub/PublicPages/Application.cfm
15 ms 15 ms 1 CFC[ D:/inetpub/PublicPages/public/cfm_utilities/print_agenda.cfc | qryAI(7700, 3, Y) ] from D:/inetpub/PublicPages/public/cfm_utilities/print_agenda.cfc
15 ms 15 ms 1 D:/inetpub/PublicPages/public/cfm_utilities/_methodQryAI.cfm
0 ms 0 ms 1 D:/inetpub/PublicPages/508_utilities.cfm
0 ms 0 ms 1 D:/inetpub/PublicPages/agpub_client_defines.cfm
0 ms 0 ms 1 D:/inetpub/PublicPages/public/agenda/agenda_utilities.cfm
0 ms 0 ms 1 D:/inetpub/PublicPages/public/cfm_utilities/user_attr.cfm
0 ms 0 ms 1 D:/inetpub/PublicPages/public/cfm_utilities/utilities.cfm
0 ms 0 ms 1 D:/inetpub/PublicPages/public/publish/include_set_fonts.cfm
0 ms 0 ms 1 D:/inetpub/PublicPages/public/publish/print_agm_ud.cfm
0 ms 0 ms 1 D:/inetpub/PublicPages/public/styles/header_styles.cfm
0 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
266 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

chkForExtraFlds (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\agpub_client_defines.cfm @ 21:03:01.001
			select * from codes c where c.code_type = 'AddlSetup' and c.valid_code = 'SysSetup'
		
getTZOffset (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\agpub_client_defines.cfm @ 21:03:01.001
				select c.misc_alpha9 tz, c2.misc_alpha tz_offset
				from codes c
				left outer join codes as c2 on (c2.code_type = 'TIMEZONE' and c2.valid_code = c.misc_alpha9)
				where c.code_type = 'AddlSetup' and c.valid_code = 'SysSetup'
			
getFasInfo (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	select fasinfo.*,
	       c3.large_misc_alpha external_prefix, c3.misc_alpha2 active_directory, c3.misc_alpha3 ad_custsfx,
	       c3.loc_code allowExtNotes, c3.misc_alpha4 hostedInstall, c3.descr publTimeout, c3.text_value2 hosted_code
			,c4.large_misc_alpha customPage
	from fasinfo
	left outer join codes as c3 on (c3.code_type = 'AddlSetup' and c3.valid_code = 'SysSetup')
	left outer join codes as c4 ON (c4.code_type = 'EXTCUST')
chkAddlSetup (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT * from codes WHERE code_type = 'AddlSetup' AND valid_code = 'SysSetup'
chkAddlSetup2 (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT * from codes WHERE code_type = 'AddlSetup' AND valid_code = 'SysSetup2'
UserAttr (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
		SELECT ' ' dflt_conf, 'N' super_user, ' ' dflt_grp FROM websecur WHERE websecur.login_id = 'destiny'
	
getMeetingTypes (Datasource=frsRO, Time=0ms, Records=24) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
		SELECT mt.meeting_type, mt.descr, c.long_descr notify_public
			FROM meeting_type mt
			LEFT OUTER JOIN codes c ON (c.code_type = 'MTG_MSG' AND c.valid_code = mt.meeting_type)
			WHERE mt.show_public = 'Y'
		ORDER BY mt.descr
	
fasinfo (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT user_filedir_alias, confidential_dir_alias, min_dir_alias, use_minutes, use_agendaquick,
		srch_engine, isys_path, dflt_verity_coll, hart_version, user_defined
	FROM fasinfo
codesFields (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\agenda\agenda_utilities.cfm @ 21:03:01.001
			select top 1 * from codes
		
AddlSetup (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT text_value1, misc_alpha public_window from codes where code_type = 'AddlSetup' and valid_code = 'SysSetup'
chkMeetings (Datasource=frsRO, Time=0ms, Records=1698) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT 1 meeting_dt from meetings WHERE
	meetings.the_meeting_type IN ('AIR','BOA','SALARY','CCBUDG','CCCSMWS','CCMTG','CCES','CCJWS','CCMTGF','CCSCM','CCSWS','CCWS','DVA','DA','FB','HPC','HOUS','IND','PQ','OSC','PR','PZ','PSPRS','SUS')
begin_year (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT MIN(fis_yr) fis_yr FROM fas
	WHERE (form_id = 'AGENDA' OR form_id = 'MINUTES') AND final_apprvl = 'Y'
end_year (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT MAX(fis_yr) fis_yr FROM fas
	WHERE (form_id = 'AGENDA' OR form_id = 'MINUTES') AND final_apprvl = 'Y'

finalized_meeting (Datasource=frsRO, Time=16ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
		SELECT MAX(meeting_dt) last_meeting FROM meetings
		INNER JOIN agenda ON (agenda.meeting_id = meetings.meeting_id)
		INNER JOIN fas ON (fas.form_id = 'AGENDA' AND fas.form_num = agenda.form_num  AND fas.final_apprvl = 'Y')
	
fas_menu (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT menu_label FROM fas_menu WHERE web_page = '../publish/agenda_publish.cfm'
all_userdef (Datasource=frsRO, Time=0ms, Records=58) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT code_type FROM user_define
all_codes (Datasource=frsRO, Time=0ms, Records=11) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
	SELECT c.code_type, c.valid_code, c.descr, c.obsolete, c.misc_alpha2, c.descr, c.dataSortOrder sort_order,
		CASE WHEN descr = '' THEN valid_code ELSE descr END AS time_descr
	FROM codes c
	WHERE c.code_type = 'AG TIME'
	
		OR code_type IN ('ud_tb1','ud_pd1','ud_cb1','ud_ta1','ud_ta2','ud_fi1','ud_fi1','ud_cb1','ud_fi3','ud_fi4','ud_fi5','ud_fi6','ud_fi7','ud_fi8','ud_fi9','ud_yn1','ud_fi12','ud_fi13','ud_tb2','ud_fi2','ud_dt1','ud_fims1','ud_fil1','ud_fi3','ud_fis1','ud_tb3','ud_fi4','ud_tb4','ud_tb5','ud_tb6','ud_fi5','ud_fi6','ud_fi7','ud_fi8','ud_fi9','ud_fi10','ud_fi11','ud_fi12','ud_fi13','ud_fi14','ud_fi15','ud_fi16','ud_fi17','ud_fi18','ud_fi19','ud_fi20','ud_fi21','ud_fi22','ud_fi23','ud_dt1','ud_fi14','ud_fi15','ud_dt2','ud_rs1','ud_fi24','ud_fi25','ud_tb7','ud_fi26')
		AND (opt_form_id = '' OR opt_form_id IS NULL)
	
chk_aiDisplay (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm @ 21:03:01.001
		select case when ss_agi._rowid is null then agi.display_routine else ss_agi.display_routine end as display_routine
		from ag_memo am
		inner join agenda_ln as atl on (atl.ag_memo_id = am.form_num and atl.ag_memo_rev = am.rev_num)
		inner join agenda as a on (a.form_num = atl.form_num)
		left outer join ag_item as agi on (agi._rowid = am.ag_item_rowid)
		left outer join ss_ag_item as ss_agi on (ss_agi.form_num = a.form_num and ss_agi._rowid = am.ag_item_rowid)
		where am.form_num = ?
		  and am.rev_num  = ? 
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 7700
Parameter #2(cf_sql_integer) = 3

codesFields (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\agenda\agenda_utilities.cfm @ 21:03:01.001
			select top 1 * from codes
		
qryResults (Datasource=frsRO, Time=15ms, Records=1) in D:\inetpub\PublicPages\public\cfm_utilities\_methodQryAI.cfm @ 21:03:01.001
	SELECT fas.form_id, fas.form_num fas_form_num, fas.rev_num fas_rev_num, fas.rqst_loc fas_rqst_loc, fas.action_cd fas_action_cd, fas.current_stop fas_current_stop,
		   fas.routing_apprvl fas_routing_apprvl, fas.final_apprvl fas_final_apprvl, fas.final_print fas_final_print, fas.fis_yr fas_fis_yr, fas.date_final,
		   fas.final_prt_date, fas.orig_loginid, meetings.meeting_dt as bo_date, de.fname, de.lname, de.title as utitle,															
		   meetings.doc_dir, meetings.meeting_name, meetings.meeting_dt, meetings.meeting_id, ag_times.descr time_descr, orig_depts.dept_desc, orig_divs.div_desc,
		   al.ag_size, al.ag_underline, al.ag_bold, al.ag_center, al.ag_italic, al.disp_level,
	  	   al.ag_level1 chk_level1, al.ag_level2 chk_level2, al.ag_level3 chk_level3,
		   al.ag_level1, al.ag_level2, al.ag_level3, al.ag_level4,al.seq_num,
		   al._rowid line_rowid,
		   a.text_size, a.text_font, a.print_num_ai, a.att_public, a.cont_numbering, a.att_header, a.exp_header, a.line_size, a.line_bold,
	   	   a.disp_num_ai, a.ag_punct, a.disp_ainumber, a.form_num ag_form_num, a.turn_off_level_dsp, a.disp_all_lvls,
		   a.disp_rteinfo, w.email, p.phone_no, p.phone_ext,
		   ft.meeting_id as ai_meeting_id, codes.long_descr px_size, codes.descr pdf_format, codes.misc_alpha4 special_format,
		   al._rowid AS ln_rowid, al._rowid AS agenda_ln_rowid, a.form_num AS ag_num, a.rev_num AS ag_rev, a.use_old_print_format,		
		   aa.descr ag_area_desc, asa.descr ag_subarea_desc, al.seq_vchar,
 	   	   c1.text_value1 pdf_header, c1.text_value2 pdf_footer, c1.misc_alpha prt_att_links,
	 	   c1.misc_alpha3 page_start, c1.misc_alpha2 info_header, c1.text_value3 all_bold,
	 	   	 
	 	   		c1.misc_alpha7 lvl_text_size, c1.misc_alpha6 dp_level_ai, c1.misc_alpha10 printMinutes, c1.misc_alpha11 printLegal, c1.misc_alpha13 dateSpelled, c1.misc_alpha14 left_justify_all,
	 	   	
	 	   c2.misc_alpha2 level_descriptor,
		   amdol.text_value amdol_more_info, amdol.text_block LinesCCCBoardOrder,
		   ft.* 
	FROM fas
	INNER JOIN ag_memo AS ft ON (fas.form_num = ft.form_num AND fas.rev_num = ft.rev_num)
	INNER JOIN form_hist ON (UPPER(form_hist.form_id) = fas.form_id AND UPPER(form_hist.stat_action) = 'ADD' AND form_hist.form_num = fas.form_num AND form_hist.rev_num = fas.rev_num)
	LEFT OUTER JOIN agenda AS a ON (ft.meeting_id = a.meeting_id)
	LEFT OUTER JOIN agenda_ln AS al ON (al.form_num = a.form_num AND al.ag_memo_id = ft.form_num AND al.ag_memo_rev = ft.rev_num)
	LEFT OUTER JOIN meetings ON (ft.meeting_id = meetings.meeting_id) 
	LEFT OUTER JOIN websecur AS w ON (w.login_id = ft.create_by)
	LEFT OUTER JOIN dist_empl AS de ON (de.empl_id = w.empl_id)
	LEFT OUTER JOIN phone AS p ON (p.empl_id = w.empl_id AND p.is_primary ='Y')
	LEFT OUTER JOIN codes AS ag_times ON (ag_times.code_type = 'AG TIME' AND ag_times.valid_code = ft.ag_time)
	LEFT OUTER JOIN codes ON (codes.code_type = 'AG_FONT' and codes.valid_code = a.text_size)
	LEFT OUTER JOIN ag_area aa ON (aa.meeting_type = meetings.the_meeting_type AND aa.ag_area = ft.ag_area)
	LEFT OUTER JOIN area_subarea AS asa ON (asa.ag_area = ft.ag_area and asa.ag_subarea = ft.ag_subarea and asa.meeting_type = meetings.the_meeting_type)

	LEFT OUTER JOIN dist_dept AS orig_depts ON (ft.orig_dept = orig_depts.dept_code)
	LEFT OUTER JOIN dept_div AS orig_divs ON (ft.orig_dept = orig_divs.dept_code AND ft.orig_div = orig_divs.div_code)
	LEFT OUTER JOIN form_userdef as amdol on (amdol.form_id = fas.form_id AND
		amdol.form_num = ft.form_num and amdol.rev_num = ft.rev_num AND
		amdol.code_type = 'AMDOL')
	LEFT OUTER JOIN codes AS c1 ON (c1.code_type = 'AddlMtg' and CAST(c1.valid_code AS INT) = ft.meeting_id)
	LEFT OUTER JOIN codes AS c2 ON (c2.code_type = 'MTG_MSG' and c2.valid_code = meetings.the_meeting_type)
	WHERE UPPER(fas.form_id) = 'AG_MEMO' AND
				fas.form_num = ? AND
				fas.rev_num = ? 
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 7700
Parameter #2(cf_sql_integer) = 3

final_check (Datasource=frsRO, Time=0ms, Records=12) in D:\inetpub\PublicPages\public\publish\agpub_agm_dsp.cfm @ 21:03:01.001
	SELECT _rowid
	FROM ss_ag_item
	WHERE ss_ag_item.form_num = 3957 
getFonts (Datasource=frsRO, Time=0ms, Records=7) in D:\inetpub\PublicPages\public\publish\include_set_fonts.cfm @ 21:03:01.001
 		SELECT valid_code, descr, long_descr from codes
 		WHERE code_type = 'AG_FONT'
 	
getLvlPdf (Datasource=, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_set_fonts.cfm @ 21:03:01.001
 		SELECT long_descr from getFonts
 		WHERE valid_code = 'mediumText'
 	
getPXvalue (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_set_fonts.cfm @ 21:03:01.001
		SELECT long_descr FROM codes WHERE code_type = 'AG_FONT' AND valid_code = 'mediumText'
	
agendaChk (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT fas.final_apprvl
		FROM agenda, fas
		WHERE agenda.meeting_id = 3958 AND
			  fas.form_id = 'AGENDA' AND
			  fas.form_num = agenda.form_num
	
final_check (Datasource=frsRO, Time=0ms, Records=12) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT _rowid, agenda.form_num
		FROM ss_ag_item, agenda
		WHERE agenda.meeting_id = 3958 AND
			  ss_ag_item.form_num = agenda.form_num
	
get_agi_temp (Datasource=frsRO, Time=32ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
SELECT agi.*, mt.agmemo_prefix, mt.agmemo_desc, mt.meeting_type, mt.resolution_number mt_resolution_number, mt.num_label mt_num_label,
	   c.misc_alpha print_routine_program, c.misc_alpha2 pdfHeadersFooters, c.misc_alpha3 print_only_routine,
	   agt.text_size, agt.text_font, agt.ag_template_id, agt.disp_rteinfo,
	   agt.disp_ainumber, agt.print_num_ai , m.template_id 									
FROM meetings m, ag_template agt, meeting_type mt
	
	INNER JOIN ss_ag_item AS agi ON (agi.form_num = 3957 AND agi._rowid = 86)
	
LEFT OUTER JOIN codes c ON (c.code_type = 'AG_MEMO_PRT' AND c.valid_code = agi.print_routine)
WHERE m.meeting_id = 3958 AND
	  agt.ag_template_id = m.template_id AND
	  mt.meeting_type = agt.meeting_type AND
  	  agi._rowid = 86 
PrintRoutine (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT valid_code, descr, misc_alpha, misc_alpha2 pdfHeadersFooters
		FROM codes
		WHERE code_type = 'AG_MEMO_PRT' AND valid_code = 'FLAG' AND obsolete = 'N'
	
all_userdef (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT au.code_type au_code_type, c.misc_alpha sortRequired, au.*
		FROM user_define ud
		INNER JOIN agi_userdef as au ON (au.fld_name = ud.fld_name AND au.agi_rowid = 86)
		LEFT OUTER JOIN codes c ON (c.code_type = 'ExpRequired' AND c.valid_code = '86')
		WHERE form_id = 'AG_MEMO'
	
all_codes (Datasource=frsRO, Time=0ms, Records=0) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
			SELECT code_type, valid_code, descr, long_descr, misc_alpha2, obsolete, dataSortOrder sort_order, create_date
			FROM codes WHERE code_type IN ('ud_fi14')
			AND (opt_form_id = '' OR opt_form_id IS NULL)
		
getAllUD (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
			SELECT au.code_type, au.field_type, au.query_name, au.fld_name, au.seq_num,
					au.fld_label, au.fld_print, au.lbl_placement, au.new_row, au.colspan,
					text_block, au.agm_print_plcmnt,au.agm_csen, au.verti_hori, au.verti_hori_cols,
					CASE WHEN au.fld_rqd = 'N' then '2' else '1' end as sortBy
			FROM agi_userdef AS au
			WHERE au.agi_rowid = '86'
			order by  au.seq_num
		
get_userdef (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
			SELECT u._rowid AS ud_id, u.ud_rowid, u.code_type, u.text_value,
				   ud.form_label, codes.descr, codes.large_misc_alpha
			FROM form_userdef AS u
			INNER JOIN user_define AS ud ON (ud._rowid = u.ud_rowid)
			LEFT OUTER JOIN codes ON (codes.code_type = u.code_type AND codes.valid_code = u.text_value)
			WHERE UPPER(u.form_id) = 'AG_MEMO' AND
					  u.form_num = 7700 AND
				      u.rev_num = 3 
getfi14 (Datasource=, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
				SELECT * from get_userdef
				WHERE code_type = 'ud_fi14'
			
fi14q (Datasource=, Time=0ms, Records=0) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
					SELECT valid_code, descr, sort_order, misc_alpha2 FROM all_codes
					WHERE code_type = 'ud_fi14' AND
					(obsolete = 'N' AND create_date <= ? 
					)
					ORDER BY sort_order
				
Query Parameter Value(s) -
Parameter #1(cf_sql_date) = 2024-02-06

getPXvalue (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT long_descr FROM codes WHERE code_type = 'AG_FONT' AND valid_code = 'mediumText'
	
submittor (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT ee.fname + ' ' + ee.lname name,
			websecur.login_id, ee.title utitle, websecur.email, p.phone_no, p.phone_ext,
			dept.dept_desc, dept.dept_code, dd.div_code, dd.div_desc
		FROM websecur
		LEFT OUTER JOIN dist_empl AS ee ON (ee.empl_id = websecur.empl_id)
		LEFT OUTER JOIN dist_dept AS dept ON (dept.dept_code = ee.department)
		LEFT OUTER JOIN dept_div AS dd ON (dd.dept_code = ee.department AND
											dd.div_code = ee.division)
		LEFT OUTER JOIN phone AS p ON (p.empl_id = ee.empl_id AND p.is_primary = 'Y')
		WHERE websecur.login_id = 'rtadder'
	
items (Datasource=frsRO, Time=0ms, Records=7) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
SELECT _rowid, seq_num, text_value
FROM ag_memo_item
WHERE form_num = 7700 AND
      rev_num = 3
ORDER BY seq_num
committees (Datasource=frsRO, Time=0ms, Records=17) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
	SELECT dept_code, dept_desc, review_comm FROM dist_dept
	
ReviewCommittee (Datasource=, Time=0ms, Records=0) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
	SELECT dept_code FROM committees WHERE review_comm = 'Y'
expenditures (Datasource=frsRO, Time=0ms, Records=0) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
	SELECT text1, input1, input2, input3, input4, input5, input6, fis_yrx, revenue, expenditure
	FROM ag_memo_dol WHERE ag_memo_dol.form_num = 7700 AND ag_memo_dol.rev_num = 3
	ORDER BY  ag_memo_dol._rowid	
attachments (Datasource=frsRO, Time=16ms, Records=4) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
	SELECT _rowid ag_doc_id, ag_doc_name, ag_doc_dir, ag_doc_link, sort_seq, confidentiality
		,'Y' as can_look, 'Y' as can_link
		
	FROM agenda_docs ad
	WHERE ad.form_num = 7700 AND
		  ad.rev_num = 3 
	ORDER BY sort_seq, ag_doc_id
min_attachments (Datasource=frsRO, Time=0ms, Records=0) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT * from codes where code_type ='asdfasdfasfa'
	
get_supp_temp (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT * FROM ag_item
		WHERE ag_item._rowid = 76 
supp_items (Datasource=frsRO, Time=0ms, Records=7) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT _rowid, seq_num, text_value
		FROM ag_memo_supp
		WHERE form_num = 7700 AND
		      rev_num = 3
		ORDER BY seq_num
	
form_rte_stops (Datasource=frsRO, Time=16ms, Records=0) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
	SELECT _rowid stop_id, descr, form_rte.stop_id chkd_stop_id, form_rte.stop_seq
	FROM rte_stop
	LEFT OUTER JOIN form_rte ON (UPPER(form_rte.form_id) = 'AG_MEMO' AND form_rte.form_num = 7700 AND form_rte.rev_num = 3 AND form_rte.stop_id = rte_stop._rowid)
	WHERE UPPER(rte_grp) = 'AG_MEMO'
getorig (Datasource=frsRO, Time=15ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
	SELECT action_by, stat_date, de.fname, de.lname, de.title as utitle, w.dflt_rte_stop			
	FROM form_hist
	LEFT OUTER JOIN websecur AS w ON (w.login_id = form_hist.action_by)
	LEFT OUTER JOIN dist_empl AS de ON (de.empl_id = w.empl_id)
	WHERE UPPER(form_id) = 'AG_MEMO' AND
	      form_num = 7700 AND
		  rev_num = 3 AND
		  stat_action = 'ADD'
getstatus (Datasource=frsRO, Time=31ms, Records=7) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
		SELECT (hist.seq_num - 1) stop_seq, hist.stop_id, hist.action_by apprvl_id, hist.stat_date apprvl_date, 	
				hist.stat_action, hist.stat_action apprvl_stat, rte_stop.descr, rte_stop.prt_on_routing,
				de.fname, de.lname, de.title, fa.incl_originator		
		FROM form_hist hist
		INNER JOIN rte_stop ON (rte_stop._rowid = hist.stop_id AND rte_stop.prt_on_routing = 'Y')
		LEFT OUTER JOIN form_actions AS fa ON (UPPER(fa.form_id) = 'AG_MEMO' AND			
			                               fa.action_cd = 'AI86')
		LEFT OUTER JOIN websecur AS w ON (w.login_id = hist.action_by)
		LEFT OUTER JOIN dist_empl AS de ON (de.empl_id = w.empl_id)
		WHERE UPPER(hist.form_id) = 'AG_MEMO' AND
			  hist.form_num = 7700 AND
			  hist.rev_num = 3 AND
			  hist.stat_type = 'H'
		ORDER BY seq_num
	
agmemo_status (Datasource=, Time=0ms, Records=7) in D:\inetpub\PublicPages\public\publish\include_ag_memo.cfm @ 21:03:01.001
	SELECT * from getStatus
get_temp_vars (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\agenda\agenda_utilities.cfm @ 21:03:01.001
		SELECT 'Alpha','Alpha','Alpha','Alpha', a.ag_punct
		FROM meetings, agenda a
		WHERE meetings.meeting_id = ? AND
		      a.meeting_id = meetings.meeting_id
		
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 3958

GetThisLine (Datasource=frsRO, Time=47ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_levels.cfm @ 21:03:02.002
				SELECT am.form_num fas_form_num, al._rowid ln_rowid, al.form_num, al.seq_num,
					   al.ag_level1 chk_level1, al.ag_level2 chk_level2, al.ag_level3 chk_level3,
					   al.ag_level1, al.ag_level2, al.ag_level3, al.ag_level4, al.disp_level, am.ainumber,
					   as1.sort_seq sort_level1, al.ag_memo_id, al.ag_memo_rev, c1.descr ag_time_descr,
					   fas.routing_apprvl fas_routing_apprvl, fas.final_apprvl fas_final_apprvl,
					   c2.misc_alpha7 lvl_text_size, c2.misc_alpha6 dp_level_ai, c3.long_descr px_size, c3.descr pdf_format,
							mt.agmemo_prefix, mt.agmemo_desc, a.disp_ainumber,
					   ai.*,
					   CASE WHEN al.ag_level2 != '' AND al.ag_level2 != '0' THEN as2.sort_seq ELSE -1 END AS sort_level2,
					   CASE WHEN al.ag_level3 != '' AND al.ag_level3 != '0' THEN as3.sort_seq ELSE -1 END AS sort_level3,
					   CASE WHEN al.ag_level4 != '' AND al.ag_level4 != '0' THEN as4.sort_seq ELSE -1 END AS sort_level4,
					   CASE WHEN al.ag_memo_id IS NOT NULL THEN al.ag_memo_id ELSE -1 END AS sort_memo,
					   CASE WHEN al.ag_memo_id IS NOT NULL THEN am.ag_time ELSE al.ag_time END as ag_time
				FROM agenda_ln al
				INNER JOIN agenda a ON (a.form_num = al.form_num AND a.rev_num = al.rev_num)
				LEFT OUTER JOIN ag_template AS agt ON (agt.ag_template_id = a.ag_template_id)
				LEFT OUTER JOIN meeting_type AS mt ON (mt.meeting_type = agt.meeting_type)
				LEFT OUTER JOIN ag_memo AS am ON (am.form_num = al.ag_memo_id AND am.rev_num = al.ag_memo_rev)
				LEFT OUTER JOIN fas ON (fas.form_id = 'AG_MEMO' AND fas.form_num = am.form_num AND fas.rev_num = am.rev_num)
				
				INNER JOIN ss_ag_item AS ai ON (ai.form_num = 3957 AND ai._rowid = 86)
				
				LEFT OUTER JOIN codes AS c1 ON (c1.code_type = 'AG TIME' and c1.valid_code = am.ag_time)
				LEFT OUTER JOIN alpha_sort AS as1 ON (as1.alpha_value = al.ag_level1 AND CAST(as1.alpha_value AS binary(8)) = CAST(al.ag_level1 AS binary(8)))
				LEFT OUTER JOIN alpha_sort AS as2 ON (as2.alpha_value = al.ag_level2 AND CAST(as2.alpha_value AS binary(8)) = CAST(al.ag_level2 AS binary(8)))
				LEFT OUTER JOIN alpha_sort AS as3 ON (as3.alpha_value = al.ag_level3 AND CAST(as3.alpha_value AS binary(8)) = CAST(al.ag_level3 AS binary(8)))
				LEFT OUTER JOIN alpha_sort AS as4 ON (as4.alpha_value = al.ag_level4 AND CAST(as4.alpha_value AS binary(8)) = CAST(al.ag_level4 AS binary(8)))
				LEFT OUTER JOIN codes AS c2 ON (c2.code_type = 'AddlMtg' and CAST(c2.valid_code AS INT) = a.meeting_id)
				LEFT OUTER JOIN codes AS c3 ON (c3.code_type = 'AG_FONT' and c3.valid_code = a.text_size)
				WHERE al._rowid = 49645 
chkLevel1 (Datasource=frsRO, Time=16ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_levels.cfm @ 21:03:02.002
					SELECT a.disp_level
					FROM agenda_ln a
					WHERE a.form_num = 3957
					AND a.ag_level1 = '10'
					AND (a.ag_level2 = '' OR a.ag_level2 IS NULL)
					AND (a.ag_level3 = '' OR a.ag_level3 IS NULL)
					AND (a.ag_level4 = '' OR a.ag_level4 IS NULL)
					AND a.header_ln = 'N' AND a.footer_ln = 'N'
				
chkLevel2 (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_levels.cfm @ 21:03:02.002
					SELECT a.disp_level
					FROM agenda_ln a
					WHERE a.form_num = 3957
					AND a.ag_level1 = '10'
					AND a.ag_level2 = 'A'
					AND (a.ag_level3 = '' OR a.ag_level3 IS NULL)
					AND (a.ag_level4 = '' OR a.ag_level4 IS NULL)
					AND a.header_ln = 'N' AND a.footer_ln = 'N'
				
chkLevel3 (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\include_levels.cfm @ 21:03:02.002
					SELECT a.disp_level
					FROM agenda_ln a
					WHERE a.form_num = 3957
					AND a.ag_level1 = '10'
					AND a.ag_level2 = 'A'
					AND a.ag_level3 = ''
					AND (a.ag_level4 = '' OR a.ag_level4 IS NULL)
					AND a.header_ln = 'N' AND a.footer_ln = 'N'
				
get_supp_temp (Datasource=frsRO, Time=0ms, Records=1) in D:\inetpub\PublicPages\public\publish\agpub_agm_dsp.cfm @ 21:03:02.002
					SELECT * FROM ag_item
					WHERE ag_item._rowid = 76 
supp_items (Datasource=frsRO, Time=16ms, Records=7) in D:\inetpub\PublicPages\public\publish\agpub_agm_dsp.cfm @ 21:03:02.002
					SELECT _rowid, seq_num, text_value
					FROM ag_memo_supp
					WHERE form_num = 7700 AND
					      rev_num = 3
					ORDER BY seq_num
				


Scope Variables

CGI Variables:
AUTH_PASSWORD=
AUTH_TYPE=
AUTH_USER=
CERT_COOKIE=
CERT_FLAGS=
CERT_ISSUER=
CERT_KEYSIZE=
CERT_SECRETKEYSIZE=
CERT_SERIALNUMBER=
CERT_SERVER_ISSUER=
CERT_SERVER_SUBJECT=
CERT_SUBJECT=
CF_TEMPLATE_PATH=D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm
CONTENT_LENGTH=0
CONTENT_TYPE=
CONTEXT_PATH=
GATEWAY_INTERFACE=CGI/1.1
HTTPS=off
HTTPS_KEYSIZE=
HTTPS_SECRETKEYSIZE=
HTTPS_SERVER_ISSUER=
HTTPS_SERVER_SUBJECT=
HTTP_ACCEPT=*/*
HTTP_ACCEPT_ENCODING=gzip, br, zstd, deflate
HTTP_ACCEPT_LANGUAGE=
HTTP_CONNECTION=Keep-Alive
HTTP_COOKIE=
HTTP_HOST=10.20.10.48:8555
HTTP_REFERER=
HTTP_URL=//public/publish/histLink_agmemo.cfm?dsp=agm&fp=OFF&seq=7700&rev=3
HTTP_USER_AGENT=Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
LOCAL_ADDR=10.20.10.48
PATH_INFO=
PATH_TRANSLATED=D:\inetpub\PublicPages\public\publish\histLink_agmemo.cfm
QUERY_STRING=dsp=agm&fp=OFF&seq=7700&rev=3
REMOTE_ADDR=10.20.230.5
REMOTE_HOST=10.20.230.5
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/public/publish/histLink_agmemo.cfm
SERVER_NAME=10.20.10.48
SERVER_PORT=8555
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=Microsoft-IIS/10.0
WEB_SERVER_API=
Client Variables:
cfid=9938731
cftoken=fd69f4b07475b54c-FCE559F2-C15D-E8B7-2F6664EEE1AF255C
hitcount=2
lastvisit={ts '2024-05-20 21:03:01'}
timecreated={ts '2024-05-20 21:03:01'}
urltoken=CFID=9938731&CFTOKEN=fd69f4b07475b54c-FCE559F2-C15D-E8B7-2F6664EEE1AF255C
Cookie Variables:
CFID=9938731
CFTOKEN=fd69f4b07475b54c-FCE559F2-C15D-E8B7-2F6664EEE1AF255C
Form Fields:
DISPLAY_AG=0
DISPLAY_ID=7700
DISPLAY_REV=3
DSP=
Session Variables:
cfid=9938731
cftoken=fd69f4b07475b54c-FCE559F2-C15D-E8B7-2F6664EEE1AF255C
dbtype=SQLSERVER
dsn=frsRO
extpathprefix=/public/
isexternal=true
logfilepath=d:\logs\
loggedin=false
sessionid=FASPUBLIC_9938731_fd69f4b07475b54c-FCE559F2-C15D-E8B7-2F6664EEE1AF255C
subdir=/public/
tzoffset=0
urltoken=CFID=9938731&CFTOKEN=fd69f4b07475b54c-FCE559F2-C15D-E8B7-2F6664EEE1AF255C
URL Parameters:
dsp=agm
fp=OFF
rev=3
seq=7700
Debug Rendering Time: 0 ms