File: v11-dem-v_basic_person.sql

package info (click to toggle)
gnumed-server 16.17-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 42,064 kB
  • sloc: sql: 1,190,603; python: 11,850; sh: 1,082; makefile: 19
file content (78 lines) | stat: -rw-r--r-- 2,251 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
-- ==============================================================
-- GNUmed database schema change script
--
-- License: GPL v2 or later
-- Author: 
--
-- ==============================================================
-- $Id: v11-dem-v_basic_person.sql,v 1.1 2009-07-15 12:12:59 ncq Exp $
-- $Revision: 1.1 $

-- --------------------------------------------------------------
--set default_transaction_read_only to off;
\set ON_ERROR_STOP 1

-- --------------------------------------------------------------
\unset ON_ERROR_STOP
drop view dem.v_basic_person cascade;
\set ON_ERROR_STOP 1


create view dem.v_basic_person as
select
	i.pk as pk_identity,
	n.id as n_id,
	i.title as title,
	n.firstnames as firstnames,
	n.lastnames as lastnames,
	i.dob as dob_only,
	(date_trunc('day', i.dob) + coalesce(i.tob, dob::time)) as dob,
	i.tob as tob,
	i.cob as cob,
	i.gender as gender,
	_(i.gender) as l10n_gender,
	i.karyotype as karyotype,
	i.pupic as pupic,
	case when i.fk_marital_status is null
		then 'unknown'
		else (select ms.name from dem.marital_status ms, dem.identity i1 where ms.pk=i.fk_marital_status and i1.pk=i.pk)
	end as marital_status,
	case when i.fk_marital_status is null
		then _('unknown')
		else (select _(ms1.name) from dem.marital_status ms1, dem.identity i1 where ms1.pk=i.fk_marital_status and i1.pk=i.pk)
	end as l10n_marital_status,
	i.fk_marital_status as pk_marital_status,
	n.preferred as preferred,
	i.deceased as deceased,
	i.xmin as xmin_identity
from
	dem.identity i,
	dem.names n
where
	i.deleted is False
		and
	n.active is true
		and
	n.id_identity = i.pk
;


select i18n.upd_tx('de_DE', 'unknown', 'unbekannt');


comment on view dem.v_basic_person is
'This view denormalizes non-deleted persons with their active name.';


revoke all on dem.v_basic_person from public;
grant select on dem.v_basic_person to group "gm-public";

-- --------------------------------------------------------------
select gm.log_script_insertion('$RCSfile: v11-dem-v_basic_person.sql,v $', '$Revision: 1.1 $');

-- ==============================================================
-- $Log: v11-dem-v_basic_person.sql,v $
-- Revision 1.1  2009-07-15 12:12:59  ncq
-- - include .deceased and don't filter dead people out as per Rogerio
--
--