That is awesome, I did not know that! Just when you think its more
complicated than not, its easy.

So how do I reference that from the dependents table so that in my smart
grid it shows the patients name associated with the dependent?

Thanks


On Wed, Jun 26, 2013 at 10:43 AM, Anthony <abasta...@gmail.com> wrote:

> db.define_table('patient',
>     ...,
>     format='%(first_name)s %(last_name)s')
>
> "format" can also be a function that takes a row object and generates the
> desired output.
>
> The "format" attribute is used to create a default "represent" attribute
> for any reference fields that reference this table.
>
> Anthony
>
>
> On Wednesday, June 26, 2013 10:24:32 AM UTC-4, Tom Russell wrote:
>
>> db.define_table('patient',
>>     #db.patient.id.readable=False # Since we do not want to expose the id
>> field on the grid
>>     Field('alternatepid', label='Alternate PID', writable=False,
>> readable=False),
>>     Field('first_name', label='First Name', requires=IS_NOT_EMPTY()),
>>     Field('middle_name', label='Middle Name'),
>>     Field('last_name', label='Last Name', requires=IS_NOT_EMPTY()),
>>     Field('suffix', label='Suffix', requires=IS_IN_SET(['I', 'II', 'III',
>> 'IV', 'V', 'Jr', 'Sr'])),
>>     Field('date_of_birth', 'date', label='Date of Birth',
>> required=IS_DATE(), requires=IS_NOT_EMPTY()),
>>     Field('gender', label='Gender', requires=IS_IN_SET(['Male', 'Female',
>> 'Other'])),
>>     Field('full_name',  label='Full Name', writable=False,
>> readable=False),
>>     Field('address1', label='Address1', requires=IS_NOT_EMPTY()),
>>     Field('address2', label='Address2'),
>>     Field('city',  label='City', requires=IS_NOT_EMPTY()),
>>     Field('state',  label='State', requires=IS_NOT_EMPTY()),
>>     Field('zipcode',  label='Zip Code', requires=IS_NOT_EMPTY()),
>>     Field('addresstype',  label='AddressType'),
>>     Field('county',  label='County', ),
>>     Field('country',  label='Country', requires=IS_IN_SET(COUNTRIES))**,
>>     Field('phone',  label='Phone', ),
>>     Field('mobile_phone',  label='Mobile Phone'),
>>     Field('emailaddress',  label='Email Address', requires =
>> IS_EMAIL(error_message='**invalid email!')),
>>     Field('ethnicity',  label='Ethnicity', requires=IS_IN_SET(['**Caucasian',
>> 'Hispanic', 'Chinese'])),
>>     Field('age', label='Age'),
>>     Field('marital_status',  label='Marital Status',
>> requires=IS_IN_SET(['Single', 'Married', 'Divorced', 'Separated',
>> 'Widowed'])),
>>     Field('comment', 'text', label='Comment'),
>>     Field('government_id_number',  label='Government ID Number',
>> requires=IS_NOT_EMPTY()),
>>     Field('is_newborn', 'boolean',  label='Is Newborn', ),
>>     Field('medical_record_number',  label='MRN', readable=True,
>> requires=IS_NOT_EMPTY()),
>>     Field('other_id_type',  label='Other ID Type',
>> requires=IS_IN_SET(['Work', 'Library Card', 'Drivers License', 'School ID',
>> 'Other'])),
>>     Field('other_id', label='Other ID'),
>>     )
>>
>>
>> db.define_table(
>>     'dependents',
>>     #Field('patient name', db.linked patient, represent=lambda c,
>> row:first_name of patient(c), requires=IS_IN_DB(db,'field.id**
>> ','%(patient)s')),
>>     Field('patient','reference patient', writable=False, readable=False),
>>     Field('dep_firstname', label='First Name'),
>>     Field('dep_middlename', label='Middle Name'),
>>     Field('dep_lastname', label='Last Name'),
>>     Field('dep_relationship', label='Relationship',
>> requires=IS_IN_SET(['Son', 'Daughter', 'Other'])),
>>     )
>>
>> db.define_table(
>>     'emergencycontacts',
>>     Field('patient','reference patient', writable=False, readable=False),
>>     Field('em_first_name', label='First Name'),
>>     Field('em_middle_name', label='Middle Name'),
>>     Field('em_last_name', label='Last Name'),
>>     Field('em_address1', label='Address1'),
>>     Field('em_address2', label='Address2'),
>>     Field('em_city', label='City'),
>>     Field('em_state', label='State'),
>>     Field('em_zipcode', label='Zip Code'),
>>     Field('em_country', label='Country', requires=IS_IN_SET(COUNTRIES))**
>> ,
>>     Field('em_phone', label='Phone'),
>>     Field('em_relationship', label='Relationship',
>> requires=IS_IN_SET(['Aunt', 'Uncle', 'Parent', 'Sibling', 'Spouse',
>> 'Guardian'])),
>>     )
>>
>> I'd like to reference the first and last name of the patient the record
>> is associated with.
>>
>> Thanks.
>>
>>
>> On Wed, Jun 26, 2013 at 10:20 AM, Anthony <abas...@gmail.com> wrote:
>>
>>> Can you show your three table definitions? The simplest method is just
>>> to specify a "format" attribute for db.patient, which will be used by any
>>> referencing fields.
>>>
>>> Anthony
>>>
>>>
>>> On Wednesday, June 26, 2013 1:06:03 AM UTC-4, Tom Russell wrote:
>>>>
>>>> Another question on the smartgrid.
>>>>
>>>> I have linked tables in my smartgrid like:
>>>>
>>>> grid = SQLFORM.smartgrid(db.patient, deletable=True, editable=True,
>>>> create=False, maxtextlength=64, paginate=25, links=links,
>>>>     links_in_grid=True, linked_tables=['**emergencyconta**cts','**
>>>> dependents'])
>>>>
>>>> When clicking on the linked table it shows the id of patient since
>>>> thats what reference but how can I show the name of the patient rather than
>>>> the id of patient?
>>>>
>>>> Thanks,
>>>>
>>>> Tom
>>>>
>>>  --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "web2py-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to web2py+un...@**googlegroups.com.
>>>
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>> .
>>>
>>>
>>>
>>
>>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to web2py+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to