[% META title = 'Patient » PAS Query' -%] [% # PROCESS dumper.tt dump = patient %] [% # PROCESS dumper.tt dump = unit_numbers %]

PAS query

[% # PROCESS site/js/jquery.tt # already loaded in html_wrapper %] [% # TODO: ? tack request_id on end of url to redirect back to request %]

Require minumum of 2 fields for PAS search:

Last name: [% IF patient.last_name %] « [% patient.last_name %] [% END %]
First name: [% IF patient.first_name %] « [% patient.first_name %] [% END %]
Date of Birth: [% IF patient.dob %] « [% patient.dob.ymd %] [% END %]
Unit Number: [% IF unit_numbers.size; FOREACH entry IN unit_numbers %] « [% entry %]
[% END %] [% ELSIF patient.unit_number # return from PAS %]foo « [% entry %]
[% END %]
NHS Number: [% IF patient.nhs_number %] « [% patient.nhs_number %] [% END %]
Post code:

[% site.html.back_button %]

[% IF pas_results; # PROCESS dumper.tt dump = pas_results; patient_id = c.query.param('_patient_id'); # means matching patient found return_link = patient_id ? '/select_patient/' _ patient_id # back to registration form : ''; # triggers new patient registration %] [% IF is_arrayref(pas_results) %]

PAS query results [[% pas_results.size %] ]:

[% FOREACH entry IN pas_results %] [% # PROCESS dumper.tt dump = entry %] [% END %]
LastName FirstName DoB PatientNo NHSNo Address Post Code
[% entry.last_name %] [% entry.first_name %] [% entry.dob %] [% entry.unit_number %] [% entry.nhs_number %] [% entry.address %] [% entry.zip %] [% # separate DoB & FirstName: names = entry.first_name.split(' '); # PROCESS dumper.tt dump = names; dob_ymd = entry.dob.split('-'); # PROCESS dumper.tt dump = dob_ymd; params = { last_name => entry.last_name, first_name => names.0, middle_name => names.1, nhs_number => entry.nhs_number, unit_number => entry.unit_number, year => dob_ymd.0, month => dob_ymd.1, day => dob_ymd.2, # add ref_src_id passed in via hidden field: referral_source_id => c.query.param('referral_source_id'), }; fields = [ 'last_name' 'first_name' 'middle_name' 'nhs_number' 'year' 'month' 'day' ] %] [% IF patient.id; # ie patient exists in patient table my_params = []; FOREACH param IN fields; # only want selected fields from params: my_params.push(param _ '=' _ params.$param); END; %] Edit [% ELSE; my_params = []; FOREACH pair IN params.pairs; # want all params: my_params.push(pair.key _ '=' _ pair.value); END; %] Register [% END %]
None of the above :: continue »
[% ELSE # pas_results isn't an arrayref %]

No PAS matches found :: continue »

[% END %] [% END %]