[% messages = c.messages('demographics') %] [% # PROCESS dumper.tt dump = pas_query %] [% IF is_code_ref(pas_query).match('ARRAY') # strings processed below %] [% SET pat_no_max_length = 0 %] [% FOREACH q IN pas_query # work out maximum case_number length %] [% DEFAULT q.unit_number = 0 # or get "argument isn't numeric" error %] [% IF q.unit_number.length > pat_no_max_length; pat_no_max_length = q.unit_number.length; END %] [% END %][% # pat_no_max_length %] [% SET spacer = '0' # string not integer %]
[% SET no_of_spacers = pat_no_max_length - query.unit_number.length %] [% spacer.repeat(no_of_spacers) %][% query.unit_number %] = [% FOREACH field IN [ 'last_name' 'first_name' 'dob' 'nhs_number' ] %] [% IF field == 'dob'; # patient.dob = DateTime object a = patient.dob.ymd; ELSE; a = patient.$field | lower; END; %] [% b = query.$field | lower %] [% IF a != b # highlight it %] [% query.$field || '[NULL]' %] [% ELSE %] [% query.$field || '[NULL]' %] [% END %] [% IF loop.next %] :: [% END %] [% END %]
[% END %] [% SET path_info = c.query.url(path_info = 1) %] [% IF path_info.match('patient/add_new') # only relevant for _check_new_patient() %]You need confirm new patient details are correct to proceed:
[% END %][% pas_query %] - GET SOME MORE
[% ELSIF pas_query.match(messages.pas_no_matches) %][% pas_query %] - [% IF patient %] [% ELSE; params = []; FOREACH entry IN ['last_name' 'first_name' 'nhs_number' 'unit_number' 'year' 'month' 'day' 'referral_source_id']; params.push(entry _ '=' _ c.query.param(entry)); END; %] [% END %] FIND SOME
[% ELSIF messages.pas_query # other known pas messages %][% messages.pas_query %]
[% ELSE # default catch-all %][% pas_query %]
[% END %] [% END %]