Dumped on 2023-05-28
table for referrals to defined individuals
F-Key | Name | Type | Description |
---|---|---|---|
clin.episode.pk | fk_episode | ||
clin.encounter.pk | fk_encounter | ||
clin.form_instances.pk | fk_form | ||
id | PRIMARY KEY | ||
dem.identity.pk | fk_referee |
Table au.referral Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
this table holds all the fields needed for auditing
F-Key | Name | Type | Description |
---|---|---|---|
pk_audit | PRIMARY KEY |
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Each table that needs standard auditing must have a log table inheriting from this table. Log tables have the same name with a prepended "log_". However, log_* tables shall not have constraints.
F-Key | Name | Type | Description |
---|---|---|---|
pk_audit | PRIMARY KEY |
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
All tables that need standard auditing must be recorded in this table. Audit triggers will be generated automatically for all tables recorded here.
F-Key | Name | Type | Description |
---|---|---|---|
table_name | UNIQUE#1 | ||
schema | UNIQUE#1 | ||
id | PRIMARY KEY |
F-Key | Name | Type | Description |
---|
Table audit.log_access_log Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_address Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_allergy Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_allergy_state Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_auto_hint Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_beh_fall_typ Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_bill Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_bill_item Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_billable Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_clin_aux_note Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_clin_diag Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_clin_item_type Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_clin_narrative Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_consumable_substance Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_consumed_substance Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_data_source Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_doc_desc Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_doc_med Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_dose Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_drug_product Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_encounter Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_episode Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_external_care Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_family_history Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_fhx_relation_type Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_form_data Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_form_instances Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_gender_label Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_health_issue Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_hospital_stay Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_hx_family_item Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_identity Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_identity_tag Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_inbox_item_category Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_inbox_item_type Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_incoming_data_unmatchable Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_incoming_data_unmatched Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lab_request Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lab_test_gnr Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_code2aoe Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_code2episode Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_code2fhx Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_code2h_issue Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_code2narrative Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_code2procedure Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_code2rfe Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_code2tst_pnl Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_constraint2vacc_course Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_dose2drug Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_identity2ext_id Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_identity2primary_doc Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_job2person Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_loinc2substance Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_loinc2test_panel Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_org_unit2comm Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_org_unit2ext_id Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_pat2vaccination_course Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_person2relative Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_substance2brand Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_tst2norm Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_type2item Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_vaccination_course2schedule Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_lnk_vaccine2inds Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_message_inbox Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_occupation Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_operation Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_org Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_org_unit Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_paperwork_templates Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_patient Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_prax_geb_paid Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_praxis_branch Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_procedure Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_referral Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_region Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_relation_types Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_report_query Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_staff Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_street Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_substance Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_substance_in_brand Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_substance_intake Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_suppressed_hint Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_tag_image Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_test_org Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_test_panel Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_test_result Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_test_type Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_urb Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_vacc_indication Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_vacc_route Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_vaccination Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_vaccination_course Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_vaccination_course_constraint Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_vaccination_definition Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_vaccination_schedule Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_vaccine Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_vaccine_batches Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_waiting_list Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
Table audit.log_xlnk_identity Inherits audit_trail,
Name | Constraint |
---|---|
audit_audit_trail_orig_before_audit_when | CHECK (((orig_when <= audit_when) IS TRUE)) |
audit_audit_trail_sane_audit_when | CHECK (((audit_when <= clock_timestamp()) IS TRUE)) |
audit_audit_trail_sane_orig_when | CHECK (((orig_when <= clock_timestamp()) IS TRUE)) |
audit_trail_audit_action_check | CHECK ((audit_action = ANY (ARRAY['UPDATE'::text, 'DELETE'::text]))) |
F-Key | Name | Type | Description |
---|
SELECT to_char (aat.audit_when ,'YYYY-MM-DD HH24:MI'::text ) AS event_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = aat.audit_by) ) , ( ('<'::text || (aat.audit_by)::text ) || '>'::text ) ) AS event_by , (aat.orig_tableoid)::regclass AS event_table , aat.orig_version AS row_version_before , CASE WHEN (aat.audit_action = 'DELETE'::text) THEN NULL::integer ELSE (aat.orig_version + 1) END AS row_version_after , aat.audit_action AS event , aat.audit_when AS audit_when_ts , aat.pk_audit FROM audit.audit_trail aat UNION ALL SELECT to_char (gal.modified_when ,'YYYY-MM-DD HH24:MI'::text ) AS event_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = gal.modified_by) ) , ( ('<'::text || (gal.modified_by)::text ) || '>'::text ) ) AS event_by , 'gm.access_log'::regclass AS event_table , NULL::integer AS row_version_before , 0 AS row_version_after , gal.user_action AS event , gal.modified_when AS audit_when_ts , gal.pk_audit FROM gm.access_log gal WHERE (gal.row_version = 0) UNION ALL SELECT to_char (aaf.modified_when ,'YYYY-MM-DD HH24:MI'::text ) AS event_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = aaf.modified_by) ) , ( ('<'::text || (aaf.modified_by)::text ) || '>'::text ) ) AS event_by , (aaf.tableoid)::regclass AS event_table , NULL::integer AS row_version_before , 0 AS row_version_after , 'INSERT'::text AS event , aaf.modified_when AS audit_when_ts , aaf.pk_audit FROM audit.audit_fields aaf WHERE (aaf.row_version = 0);
sanity-checking convenience function for marking tables for auditing, schema is always "public"
select audit.add_table_for_audit('public', $1);
sanity-checking convenience function for marking tables for auditing
DECLARE _relnamespace alias for $1; _relname ALIAS FOR $2; dummy RECORD; tmp text; BEGIN -- does table exist ? select relname into dummy from pg_class where relname = _relname and relnamespace = (select oid from pg_namespace where nspname = _relnamespace) ; if not found then tmp := _relnamespace || '.' || _relname; raise exception 'audit.add_table_for_audit: Table [%] does not exist.', tmp; return false; end if; -- already queued for auditing ? select 1 into dummy from audit.audited_tables where table_name = _relname and schema = _relnamespace; if found then return true; end if; -- add definition insert into audit.audited_tables ( schema, table_name ) values ( _relnamespace, _relname ); return true; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_access_log ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, user_action ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.user_action ); return OLD; END;
BEGIN INSERT INTO audit.log_active_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, description, atc_code ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.description, OLD.atc_code ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_address ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_street, aux_street, number, subunit, addendum, lat_lon ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_street, OLD.aux_street, OLD.number, OLD.subunit, OLD.addendum, OLD.lat_lon ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_allergy ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, substance, substance_code, generics, allergene, atc_code, fk_type, generic_specific, definite ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.substance, OLD.substance_code, OLD.generics, OLD.allergene, OLD.atc_code, OLD.fk_type, OLD.generic_specific, OLD.definite ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_allergy_state ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, has_allergy, comment, last_confirmed, fk_encounter ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.has_allergy, OLD.comment, OLD.last_confirmed, OLD.fk_encounter ); return OLD; END;
BEGIN INSERT INTO audit.log_atc_group ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, code, description ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.code, OLD.description ); return OLD; END;
BEGIN INSERT INTO audit.log_atc_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, code, name, ddd_amount, fk_ddd_unit, route, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.code, OLD.name, OLD.ddd_amount, OLD.fk_ddd_unit, OLD.route, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_auto_hint ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, query, title, hint, url, is_active, source, lang, recommendation_query, popup_type, highlight_as_priority ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.query, OLD.title, OLD.hint, OLD.url, OLD.is_active, OLD.source, OLD.lang, OLD.recommendation_query, OLD.popup_type, OLD.highlight_as_priority ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_beh_fall_typ ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, code, kurzform, name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.code, OLD.kurzform, OLD.name ); return OLD; END;
BEGIN INSERT INTO audit.log_behandlungsfall ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient, fk_falltyp, started, must_pay_prax_geb ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient, OLD.fk_falltyp, OLD.started, OLD.must_pay_prax_geb ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_bill ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, invoice_id, close_date, apply_vat, fk_receiver_identity, fk_receiver_address, fk_doc, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.invoice_id, OLD.close_date, OLD.apply_vat, OLD.fk_receiver_identity, OLD.fk_receiver_address, OLD.fk_doc, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_bill_item ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_provider, fk_encounter, date_to_bill, description, net_amount_per_unit, currency, status, fk_billable, fk_bill, unit_count, amount_multiplier ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_provider, OLD.fk_encounter, OLD.date_to_bill, OLD.description, OLD.net_amount_per_unit, OLD.currency, OLD.status, OLD.fk_billable, OLD.fk_bill, OLD.unit_count, OLD.amount_multiplier ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_clin_aux_note ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_clin_diag ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_narrative, laterality, is_chronic, is_active, is_definite, clinically_relevant ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_narrative, OLD.laterality, OLD.is_chronic, OLD.is_active, OLD.is_definite, OLD.clinically_relevant ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_clin_item_type ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, type, code ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.type, OLD.code ); return OLD; END;
BEGIN INSERT INTO audit.log_clin_medication ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, last_prescribed, fk_last_script, discontinued, brandname, generic, adjuvant, dosage_form, ufk_drug, drug_db, atc_code, is_cr, dosage, period, dosage_unit, directions, is_prn ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.last_prescribed, OLD.fk_last_script, OLD.discontinued, OLD.brandname, OLD.generic, OLD.adjuvant, OLD.dosage_form, OLD.ufk_drug, OLD.drug_db, OLD.atc_code, OLD.is_cr, OLD.dosage, OLD.period, OLD.dosage_unit, OLD.directions, OLD.is_prn ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_clin_narrative ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk ); return OLD; END;
BEGIN INSERT INTO audit.log_coded_phrase ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, term, code, xfk_coding_system ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.term, OLD.code, OLD.xfk_coding_system ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_consumable_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, atc_code, amount, unit ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.atc_code, OLD.amount, OLD.unit ); return OLD; END;
BEGIN INSERT INTO audit.log_consumed_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, description, atc_code ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.description, OLD.atc_code ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_data_source ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, name_long, name_short, version, description, source, lang ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.name_long, OLD.name_short, OLD.version, OLD.description, OLD.source, OLD.lang ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_doc_desc ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_doc, text ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_doc, OLD.text ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_doc_med ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_encounter, fk_episode, fk_type, comment, clin_when, ext_ref, fk_org_unit, unit_is_receiver, fk_hospital_stay ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_encounter, OLD.fk_episode, OLD.fk_type, OLD.comment, OLD.clin_when, OLD.ext_ref, OLD.fk_org_unit, OLD.unit_is_receiver, OLD.fk_hospital_stay ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_dose ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_substance, amount, unit, dose_unit ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_substance, OLD.amount, OLD.unit, OLD.dose_unit ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_drug_product ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, preparation, atc_code, is_fake, fk_data_source, external_code, external_code_type ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.preparation, OLD.atc_code, OLD.is_fake, OLD.fk_data_source, OLD.external_code, OLD.external_code_type ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_encounter ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient, fk_type, fk_location, source_time_zone, reason_for_encounter, assessment_of_encounter, started, last_affirmed ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient, OLD.fk_type, OLD.fk_location, OLD.source_time_zone, OLD.reason_for_encounter, OLD.assessment_of_encounter, OLD.started, OLD.last_affirmed ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_episode ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_health_issue, description, is_open, fk_encounter, diagnostic_certainty_classification, summary ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_health_issue, OLD.description, OLD.is_open, OLD.fk_encounter, OLD.diagnostic_certainty_classification, OLD.summary ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_external_care ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_encounter, fk_health_issue, issue, fk_org_unit, provider, comment, inactive ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_encounter, OLD.fk_health_issue, OLD.issue, OLD.fk_org_unit, OLD.provider, OLD.comment, OLD.inactive ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_family_history ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_relation_type, age_noted, age_of_death, contributed_to_death, name_relative, dob_relative, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_relation_type, OLD.age_noted, OLD.age_of_death, OLD.contributed_to_death, OLD.name_relative, OLD.dob_relative, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_fhx_relation_type ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, is_genetic ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.is_genetic ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_form_data ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_instance, fk_form_field, value ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_instance, OLD.fk_form_field, OLD.value ); return OLD; END;
BEGIN INSERT INTO audit.log_form_defs ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, fk_type, country, locale, soap_cat, name_short, name_long, revision, template, engine, in_use, url, is_user ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.fk_type, OLD.country, OLD.locale, OLD.soap_cat, OLD.name_short, OLD.name_long, OLD.revision, OLD.template, OLD.engine, OLD.in_use, OLD.url, OLD.is_user ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_form_instances ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_form_def, form_name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_form_def, OLD.form_name ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_gender_label ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, tag, label, sort_weight, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.tag, OLD.label, OLD.sort_weight, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_health_issue ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, laterality, age_noted, is_active, clinically_relevant, is_confidential, is_cause_of_death, fk_encounter, grouping, diagnostic_certainty_classification, summary ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.laterality, OLD.age_noted, OLD.is_active, OLD.clinically_relevant, OLD.is_confidential, OLD.is_cause_of_death, OLD.fk_encounter, OLD.grouping, OLD.diagnostic_certainty_classification, OLD.summary ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_hospital_stay ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, discharge, fk_org_unit ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.discharge, OLD.fk_org_unit ); return OLD; END;
BEGIN INSERT INTO audit.log_hx_family_item ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, fk_narrative_condition, fk_relative, name_relative, dob_relative, condition, age_noted, age_of_death, is_cause_of_death ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.fk_narrative_condition, OLD.fk_relative, OLD.name_relative, OLD.dob_relative, OLD.condition, OLD.age_noted, OLD.age_of_death, OLD.is_cause_of_death ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_identity ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, deleted, gender, dob, fk_marital_status, cob, deceased, title, tob, emergency_contact, fk_emergency_contact, comment, fk_primary_provider, dob_is_estimated ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.deleted, OLD.gender, OLD.dob, OLD.fk_marital_status, OLD.cob, OLD.deceased, OLD.title, OLD.tob, OLD.emergency_contact, OLD.fk_emergency_contact, OLD.comment, OLD.fk_primary_provider, OLD.dob_is_estimated ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_identity_tag ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, fk_tag, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.fk_tag, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_inbox_item_category ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, is_user ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.is_user ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_inbox_item_type ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_inbox_item_category, description, is_user ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_inbox_item_category, OLD.description, OLD.is_user ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_incoming_data_unmatchable ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient_candidates, request_id, firstnames, lastnames, dob, postcode, other_info, type, data, gender, requestor, external_data_id, fk_identity_disambiguated ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient_candidates, OLD.request_id, OLD.firstnames, OLD.lastnames, OLD.dob, OLD.postcode, OLD.other_info, OLD.type, OLD.data, OLD.gender, OLD.requestor, OLD.external_data_id, OLD.fk_identity_disambiguated ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_incoming_data_unmatched ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient_candidates, request_id, firstnames, lastnames, dob, postcode, other_info, type, data, gender, requestor, external_data_id, fk_identity_disambiguated, comment, fk_provider_disambiguated ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient_candidates, OLD.request_id, OLD.firstnames, OLD.lastnames, OLD.dob, OLD.postcode, OLD.other_info, OLD.type, OLD.data, OLD.gender, OLD.requestor, OLD.external_data_id, OLD.fk_identity_disambiguated, OLD.comment, OLD.fk_provider_disambiguated ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lab_request ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_test_org, request_id, fk_requestor, lab_request_id, lab_rxd_when, results_reported_when, request_status, is_pending, diagnostic_service_section, ordered_service, note_test_org ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_test_org, OLD.request_id, OLD.fk_requestor, OLD.lab_request_id, OLD.lab_rxd_when, OLD.results_reported_when, OLD.request_status, OLD.is_pending, OLD.diagnostic_service_section, OLD.ordered_service, OLD.note_test_org ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lab_test_gnr ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_test ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_test ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_code2aoe ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_code2episode ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_code2fhx ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_code2h_issue ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_code2narrative ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_code2procedure ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_code2rfe ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_code2tst_pnl ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_constraint2vacc_course ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_vaccination_course, fk_constraint ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_vaccination_course, OLD.fk_constraint ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_dose2drug ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_drug_product, fk_dose ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_drug_product, OLD.fk_dose ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_identity2ext_id ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_identity, external_id, fk_origin, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_identity, OLD.external_id, OLD.fk_origin, OLD.comment ); return OLD; END;
BEGIN INSERT INTO audit.log_lnk_identity2primary_doc ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, fk_primary_doc ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.fk_primary_doc ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_job2person ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, fk_occupation, activities ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.fk_occupation, OLD.activities ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_loinc2substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_substance, loinc, max_age, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_substance, OLD.loinc, OLD.max_age, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_loinc2test_panel ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_test_panel, loinc ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_test_panel, OLD.loinc ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_org_unit2comm ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_org_unit, url, fk_type, is_confidential, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_org_unit, OLD.url, OLD.fk_type, OLD.is_confidential, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_org_unit2ext_id ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_org_unit, external_id, fk_type, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_org_unit, OLD.external_id, OLD.fk_type, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_pat2vaccination_course ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient, fk_course ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient, OLD.fk_course ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_person2relative ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_identity, id_relative, id_relation_type, started, ended ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_identity, OLD.id_relative, OLD.id_relation_type, OLD.started, OLD.ended ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_substance2brand ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_brand, fk_substance ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_brand, OLD.fk_substance ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_tst2norm ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_test, id_norm ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_test, OLD.id_norm ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_type2item ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_type, fk_item ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_type, OLD.fk_item ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_vaccination_course2schedule ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_course, fk_schedule ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_course, OLD.fk_schedule ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_lnk_vaccine2inds ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, fk_vaccine, fk_indication ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.fk_vaccine, OLD.fk_indication ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_message_inbox ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_staff, fk_inbox_item_type, comment, data, importance, fk_patient, ufk_context, due_date, expiry_date ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_staff, OLD.fk_inbox_item_type, OLD.comment, OLD.data, OLD.importance, OLD.fk_patient, OLD.ufk_context, OLD.due_date, OLD.expiry_date ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_occupation ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.name ); return OLD; END;
BEGIN INSERT INTO audit.log_operation ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, fk_health_issue, fk_encounter, clin_where, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.fk_health_issue, OLD.fk_encounter, OLD.clin_where, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_org ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, fk_category, fk_data_source ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.fk_category, OLD.fk_data_source ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_org_unit ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, fk_org, fk_address, fk_category ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.fk_org, OLD.fk_address, OLD.fk_category ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_paperwork_templates ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_template_type, instance_type, name_short, name_long, external_version, gnumed_revision, engine, in_use, filename, data, edit_after_substitution ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_template_type, OLD.instance_type, OLD.name_short, OLD.name_long, OLD.external_version, OLD.gnumed_revision, OLD.engine, OLD.in_use, OLD.filename, OLD.data, OLD.edit_after_substitution ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_patient ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, edc ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.edc ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_prax_geb_paid ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_fall, paid_amount, paid_when, paid_with ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_fall, OLD.paid_amount, OLD.paid_when, OLD.paid_with ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_praxis_branch ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_org_unit ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_org_unit ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_procedure ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_hospital_stay, clin_end, is_ongoing, fk_org_unit, fk_doc, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_hospital_stay, OLD.clin_end, OLD.is_ongoing, OLD.fk_org_unit, OLD.fk_doc, OLD.comment ); return OLD; END;
BEGIN INSERT INTO audit.log_ref_source ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, name_short, name_long, version, description, source ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.name_short, OLD.name_long, OLD.version, OLD.description, OLD.source ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_referral ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, id, fk_referee, fk_form ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.id, OLD.fk_referee, OLD.fk_form ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_region ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, code, country, name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.code, OLD.country, OLD.name ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_relation_types ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, inverse, biological, biol_verified, description ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.inverse, OLD.biological, OLD.biol_verified, OLD.description ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_report_query ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, label, cmd ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.label, OLD.cmd ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_staff ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, db_user, short_alias, comment, is_active ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.db_user, OLD.short_alias, OLD.comment, OLD.is_active ); return OLD; END;
BEGIN INSERT INTO audit.log_staff_role ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, name, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.name, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_street ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_urb, name, postcode, suburb, lat_lon ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_urb, OLD.name, OLD.postcode, OLD.suburb, OLD.lat_lon ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, atc, intake_instructions ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.atc, OLD.intake_instructions ); return OLD; END;
BEGIN INSERT INTO audit.log_substance_in_brand ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, fk_brand, description, atc_code ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.fk_brand, OLD.description, OLD.atc_code ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_substance_intake ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, schedule, aim, duration, intake_is_approved_of, is_long_term, discontinued, discontinue_reason, fk_drug_component, comment_on_start, harmful_use_type ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.schedule, OLD.aim, OLD.duration, OLD.intake_is_approved_of, OLD.is_long_term, OLD.discontinued, OLD.discontinue_reason, OLD.fk_drug_component, OLD.comment_on_start, OLD.harmful_use_type ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_suppressed_hint ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_encounter, fk_hint, suppressed_by, suppressed_when, rationale, md5_sum ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_encounter, OLD.fk_hint, OLD.suppressed_by, OLD.suppressed_when, OLD.rationale, OLD.md5_sum ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_tag_image ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, filename, image ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.filename, OLD.image ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_test_org ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_org_unit, fk_adm_contact, fk_med_contact, comment, contact ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_org_unit, OLD.fk_adm_contact, OLD.fk_med_contact, OLD.comment, OLD.contact ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_test_panel ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_test_result ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_type, val_num, val_alpha, val_unit, val_normal_min, val_normal_max, val_normal_range, val_target_min, val_target_max, val_target_range, abnormality_indicator, norm_ref_group, note_test_org, material, material_detail, fk_intended_reviewer, fk_request, status, source_data, val_grouping ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_type, OLD.val_num, OLD.val_alpha, OLD.val_unit, OLD.val_normal_min, OLD.val_normal_max, OLD.val_normal_range, OLD.val_target_min, OLD.val_target_max, OLD.val_target_range, OLD.abnormality_indicator, OLD.norm_ref_group, OLD.note_test_org, OLD.material, OLD.material_detail, OLD.fk_intended_reviewer, OLD.fk_request, OLD.status, OLD.source_data, OLD.val_grouping ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_test_type ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_test_org, name, comment, reference_unit, loinc, abbrev, fk_meta_test_type ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_test_org, OLD.name, OLD.comment, OLD.reference_unit, OLD.loinc, OLD.abbrev, OLD.fk_meta_test_type ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_urb ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, fk_region, postcode, lat_lon, name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.fk_region, OLD.postcode, OLD.lat_lon, OLD.name ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_vacc_indication ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, description, atcs_single_indication, atcs_combi_indication ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.description, OLD.atcs_single_indication, OLD.atcs_combi_indication ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_vacc_route ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, abbreviation, description ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.abbreviation, OLD.description ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_vaccination ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_provider, fk_vaccine, site, batch_no, reaction ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_provider, OLD.fk_vaccine, OLD.site, OLD.batch_no, OLD.reaction ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_vaccination_course ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_recommended_by, fk_indication, is_active, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_recommended_by, OLD.fk_indication, OLD.is_active, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_vaccination_course_constraint ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_vaccination_definition ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, fk_course, is_booster, seq_no, min_age_due, max_age_due, min_interval, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.fk_course, OLD.is_booster, OLD.seq_no, OLD.min_age_due, OLD.max_age_due, OLD.min_interval, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_vaccination_schedule ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, name, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.name, OLD.comment ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_vaccine ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, id_route, is_live, min_age, max_age, comment, fk_drug_product ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.id_route, OLD.is_live, OLD.min_age, OLD.max_age, OLD.comment, OLD.fk_drug_product ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_vaccine_batches ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_vaccine, batch_no ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_vaccine, OLD.batch_no ); return OLD; END;
DECLARE _is_allowed_deleter boolean; BEGIN -- is the session user allowed to delete data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_deleter; IF _is_allowed_deleter IS FALSE THEN RAISE EXCEPTION 'DELETE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return OLD; END IF; INSERT INTO audit.log_waiting_list ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient, registered, urgency, list_position, comment, area ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient, OLD.registered, OLD.urgency, OLD.list_position, OLD.comment, OLD.area ); return OLD; END;
BEGIN INSERT INTO audit.log_xlnk_identity ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, xfk_identity, pupic, data ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.xfk_identity, OLD.pupic, OLD.data ); return OLD; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_inserter boolean; BEGIN -- is the session user allowed to insert data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_inserter; IF _is_allowed_inserter IS FALSE THEN RAISE EXCEPTION 'INSERT: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
BEGIN NEW.row_version := 0; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_access_log ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, user_action ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.user_action ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_active_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, description, atc_code ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.description, OLD.atc_code ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_address ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_street, aux_street, number, subunit, addendum, lat_lon ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_street, OLD.aux_street, OLD.number, OLD.subunit, OLD.addendum, OLD.lat_lon ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_allergy ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, substance, substance_code, generics, allergene, atc_code, fk_type, generic_specific, definite ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.substance, OLD.substance_code, OLD.generics, OLD.allergene, OLD.atc_code, OLD.fk_type, OLD.generic_specific, OLD.definite ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_allergy_state ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, has_allergy, comment, last_confirmed, fk_encounter ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.has_allergy, OLD.comment, OLD.last_confirmed, OLD.fk_encounter ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_atc_group ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, code, description ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.code, OLD.description ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_atc_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, code, name, ddd_amount, fk_ddd_unit, route, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.code, OLD.name, OLD.ddd_amount, OLD.fk_ddd_unit, OLD.route, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_auto_hint ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, query, title, hint, url, is_active, source, lang, recommendation_query, popup_type, highlight_as_priority ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.query, OLD.title, OLD.hint, OLD.url, OLD.is_active, OLD.source, OLD.lang, OLD.recommendation_query, OLD.popup_type, OLD.highlight_as_priority ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_beh_fall_typ ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, code, kurzform, name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.code, OLD.kurzform, OLD.name ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_behandlungsfall ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient, fk_falltyp, started, must_pay_prax_geb ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient, OLD.fk_falltyp, OLD.started, OLD.must_pay_prax_geb ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_bill ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, invoice_id, close_date, apply_vat, fk_receiver_identity, fk_receiver_address, fk_doc, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.invoice_id, OLD.close_date, OLD.apply_vat, OLD.fk_receiver_identity, OLD.fk_receiver_address, OLD.fk_doc, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_bill_item ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_provider, fk_encounter, date_to_bill, description, net_amount_per_unit, currency, status, fk_billable, fk_bill, unit_count, amount_multiplier ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_provider, OLD.fk_encounter, OLD.date_to_bill, OLD.description, OLD.net_amount_per_unit, OLD.currency, OLD.status, OLD.fk_billable, OLD.fk_bill, OLD.unit_count, OLD.amount_multiplier ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_clin_aux_note ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_clin_diag ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_narrative, laterality, is_chronic, is_active, is_definite, clinically_relevant ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_narrative, OLD.laterality, OLD.is_chronic, OLD.is_active, OLD.is_definite, OLD.clinically_relevant ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_clin_item_type ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, type, code ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.type, OLD.code ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_clin_medication ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, last_prescribed, fk_last_script, discontinued, brandname, generic, adjuvant, dosage_form, ufk_drug, drug_db, atc_code, is_cr, dosage, period, dosage_unit, directions, is_prn ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.last_prescribed, OLD.fk_last_script, OLD.discontinued, OLD.brandname, OLD.generic, OLD.adjuvant, OLD.dosage_form, OLD.ufk_drug, OLD.drug_db, OLD.atc_code, OLD.is_cr, OLD.dosage, OLD.period, OLD.dosage_unit, OLD.directions, OLD.is_prn ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_clin_narrative ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_coded_phrase ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, term, code, xfk_coding_system ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.term, OLD.code, OLD.xfk_coding_system ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_consumable_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, atc_code, amount, unit ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.atc_code, OLD.amount, OLD.unit ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_consumed_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, description, atc_code ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.description, OLD.atc_code ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_data_source ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, name_long, name_short, version, description, source, lang ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.name_long, OLD.name_short, OLD.version, OLD.description, OLD.source, OLD.lang ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_doc_desc ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_doc, text ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_doc, OLD.text ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_doc_med ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_encounter, fk_episode, fk_type, comment, clin_when, ext_ref, fk_org_unit, unit_is_receiver, fk_hospital_stay ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_encounter, OLD.fk_episode, OLD.fk_type, OLD.comment, OLD.clin_when, OLD.ext_ref, OLD.fk_org_unit, OLD.unit_is_receiver, OLD.fk_hospital_stay ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_dose ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_substance, amount, unit, dose_unit ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_substance, OLD.amount, OLD.unit, OLD.dose_unit ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_drug_product ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, preparation, atc_code, is_fake, fk_data_source, external_code, external_code_type ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.preparation, OLD.atc_code, OLD.is_fake, OLD.fk_data_source, OLD.external_code, OLD.external_code_type ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_encounter ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient, fk_type, fk_location, source_time_zone, reason_for_encounter, assessment_of_encounter, started, last_affirmed ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient, OLD.fk_type, OLD.fk_location, OLD.source_time_zone, OLD.reason_for_encounter, OLD.assessment_of_encounter, OLD.started, OLD.last_affirmed ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_episode ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_health_issue, description, is_open, fk_encounter, diagnostic_certainty_classification, summary ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_health_issue, OLD.description, OLD.is_open, OLD.fk_encounter, OLD.diagnostic_certainty_classification, OLD.summary ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_external_care ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_encounter, fk_health_issue, issue, fk_org_unit, provider, comment, inactive ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_encounter, OLD.fk_health_issue, OLD.issue, OLD.fk_org_unit, OLD.provider, OLD.comment, OLD.inactive ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_family_history ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_relation_type, age_noted, age_of_death, contributed_to_death, name_relative, dob_relative, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_relation_type, OLD.age_noted, OLD.age_of_death, OLD.contributed_to_death, OLD.name_relative, OLD.dob_relative, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_fhx_relation_type ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, is_genetic ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.is_genetic ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_form_data ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_instance, fk_form_field, value ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_instance, OLD.fk_form_field, OLD.value ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_form_defs ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, fk_type, country, locale, soap_cat, name_short, name_long, revision, template, engine, in_use, url, is_user ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.fk_type, OLD.country, OLD.locale, OLD.soap_cat, OLD.name_short, OLD.name_long, OLD.revision, OLD.template, OLD.engine, OLD.in_use, OLD.url, OLD.is_user ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_form_instances ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_form_def, form_name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_form_def, OLD.form_name ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_gender_label ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, tag, label, sort_weight, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.tag, OLD.label, OLD.sort_weight, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_health_issue ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, laterality, age_noted, is_active, clinically_relevant, is_confidential, is_cause_of_death, fk_encounter, grouping, diagnostic_certainty_classification, summary ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.laterality, OLD.age_noted, OLD.is_active, OLD.clinically_relevant, OLD.is_confidential, OLD.is_cause_of_death, OLD.fk_encounter, OLD.grouping, OLD.diagnostic_certainty_classification, OLD.summary ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_hospital_stay ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, discharge, fk_org_unit ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.discharge, OLD.fk_org_unit ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_hx_family_item ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, fk_narrative_condition, fk_relative, name_relative, dob_relative, condition, age_noted, age_of_death, is_cause_of_death ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.fk_narrative_condition, OLD.fk_relative, OLD.name_relative, OLD.dob_relative, OLD.condition, OLD.age_noted, OLD.age_of_death, OLD.is_cause_of_death ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_identity ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, deleted, gender, dob, fk_marital_status, cob, deceased, title, tob, emergency_contact, fk_emergency_contact, comment, fk_primary_provider, dob_is_estimated ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.deleted, OLD.gender, OLD.dob, OLD.fk_marital_status, OLD.cob, OLD.deceased, OLD.title, OLD.tob, OLD.emergency_contact, OLD.fk_emergency_contact, OLD.comment, OLD.fk_primary_provider, OLD.dob_is_estimated ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_identity_tag ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, fk_tag, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.fk_tag, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_inbox_item_category ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, is_user ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.is_user ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_inbox_item_type ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_inbox_item_category, description, is_user ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_inbox_item_category, OLD.description, OLD.is_user ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_incoming_data_unmatchable ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient_candidates, request_id, firstnames, lastnames, dob, postcode, other_info, type, data, gender, requestor, external_data_id, fk_identity_disambiguated ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient_candidates, OLD.request_id, OLD.firstnames, OLD.lastnames, OLD.dob, OLD.postcode, OLD.other_info, OLD.type, OLD.data, OLD.gender, OLD.requestor, OLD.external_data_id, OLD.fk_identity_disambiguated ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_incoming_data_unmatched ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient_candidates, request_id, firstnames, lastnames, dob, postcode, other_info, type, data, gender, requestor, external_data_id, fk_identity_disambiguated, comment, fk_provider_disambiguated ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient_candidates, OLD.request_id, OLD.firstnames, OLD.lastnames, OLD.dob, OLD.postcode, OLD.other_info, OLD.type, OLD.data, OLD.gender, OLD.requestor, OLD.external_data_id, OLD.fk_identity_disambiguated, OLD.comment, OLD.fk_provider_disambiguated ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lab_request ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_test_org, request_id, fk_requestor, lab_request_id, lab_rxd_when, results_reported_when, request_status, is_pending, diagnostic_service_section, ordered_service, note_test_org ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_test_org, OLD.request_id, OLD.fk_requestor, OLD.lab_request_id, OLD.lab_rxd_when, OLD.results_reported_when, OLD.request_status, OLD.is_pending, OLD.diagnostic_service_section, OLD.ordered_service, OLD.note_test_org ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lab_test_gnr ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_test ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_test ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_code2aoe ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_code2episode ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_code2fhx ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_code2h_issue ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_code2narrative ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_code2procedure ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_code2rfe ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_code2tst_pnl ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_lnk_code2item, fk_generic_code, fk_item, code_modifier, pk ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_lnk_code2item, OLD.fk_generic_code, OLD.fk_item, OLD.code_modifier, OLD.pk ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_constraint2vacc_course ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_vaccination_course, fk_constraint ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_vaccination_course, OLD.fk_constraint ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_dose2drug ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_drug_product, fk_dose ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_drug_product, OLD.fk_dose ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_identity2ext_id ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_identity, external_id, fk_origin, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_identity, OLD.external_id, OLD.fk_origin, OLD.comment ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_identity2primary_doc ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, fk_primary_doc ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.fk_primary_doc ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_job2person ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, fk_occupation, activities ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.fk_occupation, OLD.activities ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_loinc2substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_substance, loinc, max_age, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_substance, OLD.loinc, OLD.max_age, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_loinc2test_panel ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_test_panel, loinc ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_test_panel, OLD.loinc ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_org_unit2comm ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_org_unit, url, fk_type, is_confidential, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_org_unit, OLD.url, OLD.fk_type, OLD.is_confidential, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_org_unit2ext_id ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_org_unit, external_id, fk_type, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_org_unit, OLD.external_id, OLD.fk_type, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_pat2vaccination_course ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient, fk_course ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient, OLD.fk_course ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_person2relative ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_identity, id_relative, id_relation_type, started, ended ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_identity, OLD.id_relative, OLD.id_relation_type, OLD.started, OLD.ended ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_substance2brand ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_brand, fk_substance ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_brand, OLD.fk_substance ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_tst2norm ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_test, id_norm ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_test, OLD.id_norm ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_type2item ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_type, fk_item ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_type, OLD.fk_item ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_vaccination_course2schedule ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_course, fk_schedule ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_course, OLD.fk_schedule ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_lnk_vaccine2inds ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, fk_vaccine, fk_indication ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.fk_vaccine, OLD.fk_indication ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_message_inbox ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_staff, fk_inbox_item_type, comment, data, importance, fk_patient, ufk_context, due_date, expiry_date ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_staff, OLD.fk_inbox_item_type, OLD.comment, OLD.data, OLD.importance, OLD.fk_patient, OLD.ufk_context, OLD.due_date, OLD.expiry_date ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_occupation ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.name ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_operation ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, fk_health_issue, fk_encounter, clin_where, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.fk_health_issue, OLD.fk_encounter, OLD.clin_where, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_org ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, fk_category, fk_data_source ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.fk_category, OLD.fk_data_source ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_org_unit ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, fk_org, fk_address, fk_category ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.fk_org, OLD.fk_address, OLD.fk_category ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_paperwork_templates ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_template_type, instance_type, name_short, name_long, external_version, gnumed_revision, engine, in_use, filename, data, edit_after_substitution ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_template_type, OLD.instance_type, OLD.name_short, OLD.name_long, OLD.external_version, OLD.gnumed_revision, OLD.engine, OLD.in_use, OLD.filename, OLD.data, OLD.edit_after_substitution ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_patient ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, edc ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.edc ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_prax_geb_paid ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_fall, paid_amount, paid_when, paid_with ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_fall, OLD.paid_amount, OLD.paid_when, OLD.paid_with ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_praxis_branch ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_org_unit ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_org_unit ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_procedure ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_hospital_stay, clin_end, is_ongoing, fk_org_unit, fk_doc, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_hospital_stay, OLD.clin_end, OLD.is_ongoing, OLD.fk_org_unit, OLD.fk_doc, OLD.comment ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_ref_source ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, name_short, name_long, version, description, source ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.name_short, OLD.name_long, OLD.version, OLD.description, OLD.source ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_referral ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, id, fk_referee, fk_form ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.id, OLD.fk_referee, OLD.fk_form ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_region ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, code, country, name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.code, OLD.country, OLD.name ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_relation_types ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, inverse, biological, biol_verified, description ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.inverse, OLD.biological, OLD.biol_verified, OLD.description ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_report_query ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, label, cmd ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.label, OLD.cmd ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_staff ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_identity, db_user, short_alias, comment, is_active ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_identity, OLD.db_user, OLD.short_alias, OLD.comment, OLD.is_active ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_staff_role ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, name, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.name, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_street ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, id_urb, name, postcode, suburb, lat_lon ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.id_urb, OLD.name, OLD.postcode, OLD.suburb, OLD.lat_lon ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_substance ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, atc, intake_instructions ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.atc, OLD.intake_instructions ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_substance_in_brand ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, fk_brand, description, atc_code ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.fk_brand, OLD.description, OLD.atc_code ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_substance_intake ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, schedule, aim, duration, intake_is_approved_of, is_long_term, discontinued, discontinue_reason, fk_drug_component, comment_on_start, harmful_use_type ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.schedule, OLD.aim, OLD.duration, OLD.intake_is_approved_of, OLD.is_long_term, OLD.discontinued, OLD.discontinue_reason, OLD.fk_drug_component, OLD.comment_on_start, OLD.harmful_use_type ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_suppressed_hint ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_encounter, fk_hint, suppressed_by, suppressed_when, rationale, md5_sum ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_encounter, OLD.fk_hint, OLD.suppressed_by, OLD.suppressed_when, OLD.rationale, OLD.md5_sum ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_tag_image ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, filename, image ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.filename, OLD.image ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_test_org ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_org_unit, fk_adm_contact, fk_med_contact, comment, contact ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_org_unit, OLD.fk_adm_contact, OLD.fk_med_contact, OLD.comment, OLD.contact ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_test_panel ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_test_result ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_type, val_num, val_alpha, val_unit, val_normal_min, val_normal_max, val_normal_range, val_target_min, val_target_max, val_target_range, abnormality_indicator, norm_ref_group, note_test_org, material, material_detail, fk_intended_reviewer, fk_request, status, source_data, val_grouping ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_type, OLD.val_num, OLD.val_alpha, OLD.val_unit, OLD.val_normal_min, OLD.val_normal_max, OLD.val_normal_range, OLD.val_target_min, OLD.val_target_max, OLD.val_target_range, OLD.abnormality_indicator, OLD.norm_ref_group, OLD.note_test_org, OLD.material, OLD.material_detail, OLD.fk_intended_reviewer, OLD.fk_request, OLD.status, OLD.source_data, OLD.val_grouping ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_test_type ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_test_org, name, comment, reference_unit, loinc, abbrev, fk_meta_test_type ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_test_org, OLD.name, OLD.comment, OLD.reference_unit, OLD.loinc, OLD.abbrev, OLD.fk_meta_test_type ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_urb ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, fk_region, postcode, lat_lon, name ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.fk_region, OLD.postcode, OLD.lat_lon, OLD.name ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_vacc_indication ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, description, atcs_single_indication, atcs_combi_indication ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.description, OLD.atcs_single_indication, OLD.atcs_combi_indication ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_vacc_route ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, abbreviation, description ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.abbreviation, OLD.description ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_vaccination ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_item, clin_when, fk_encounter, fk_episode, narrative, soap_cat, pk, fk_provider, fk_vaccine, site, batch_no, reaction ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_item, OLD.clin_when, OLD.fk_encounter, OLD.fk_episode, OLD.narrative, OLD.soap_cat, OLD.pk, OLD.fk_provider, OLD.fk_vaccine, OLD.site, OLD.batch_no, OLD.reaction ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_vaccination_course ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_recommended_by, fk_indication, is_active, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_recommended_by, OLD.fk_indication, OLD.is_active, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_vaccination_course_constraint ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, description ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.description ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_vaccination_definition ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, id, fk_course, is_booster, seq_no, min_age_due, max_age_due, min_interval, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.id, OLD.fk_course, OLD.is_booster, OLD.seq_no, OLD.min_age_due, OLD.max_age_due, OLD.min_interval, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_vaccination_schedule ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, name, comment ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.name, OLD.comment ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_vaccine ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, id_route, is_live, min_age, max_age, comment, fk_drug_product ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.id_route, OLD.is_live, OLD.min_age, OLD.max_age, OLD.comment, OLD.fk_drug_product ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_vaccine_batches ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_vaccine, batch_no ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_vaccine, OLD.batch_no ); return NEW; END;
DECLARE _is_allowed_updater boolean; BEGIN -- is the session user allowed to update data ? SELECT gm.account_is_dbowner_or_staff(SESSION_USER) INTO STRICT _is_allowed_updater; IF _is_allowed_updater IS FALSE THEN RAISE EXCEPTION 'UPDATE: gm.account_is_dbowner_or_staff(NAME): <%> is neither database owner, nor <postgres>, nor on staff', SESSION_USER USING ERRCODE = 'integrity_constraint_violation' ; return NEW; END IF; NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_waiting_list ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk, fk_patient, registered, urgency, list_position, comment, area ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk, OLD.fk_patient, OLD.registered, OLD.urgency, OLD.list_position, OLD.comment, OLD.area ); return NEW; END;
BEGIN NEW.row_version := OLD.row_version + 1; NEW.modified_when := CURRENT_TIMESTAMP; NEW.modified_by := SESSION_USER; INSERT INTO audit.log_xlnk_identity ( orig_version, orig_when, orig_by, orig_tableoid, audit_action, pk_audit, row_version, modified_when, modified_by, pk, xfk_identity, pupic, data ) VALUES ( OLD.row_version, OLD.modified_when, OLD.modified_by, TG_RELID, TG_OP, OLD.pk_audit, OLD.row_version, OLD.modified_when, OLD.modified_by, OLD.pk, OLD.xfk_identity, OLD.pupic, OLD.data ); return NEW; END;
sanity-checking convenience function for registering a table for auditing
DECLARE _schema alias for $1; _table alias for $2; BEGIN -- does table exist ? perform 1 from pg_class where relname = _table and relnamespace = (select oid from pg_namespace where nspname = _schema) ; if not found then raise exception 'audit.register_table_for_auditing(): table [%.%] does not exist', _schema, _table; return false; end if; -- already queued for auditing ? perform 1 from audit.audited_tables where table_name = _table and schema = _schema; if found then return true; end if; -- add definition insert into audit.audited_tables ( schema, table_name ) values ( _schema, _table ); return true; END;
Holds everything related to billing.
actual bills
F-Key | Name | Type | Description |
---|---|---|---|
dem.identity.pk | fk_receiver_identity | ||
invoice_id | UNIQUE | ||
blobs.doc_med.pk | fk_doc | ||
pk | PRIMARY KEY | ||
dem.lnk_person_org_address.id | fk_receiver_address |
Table bill.bill Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
bill_bill_sane_apply_vat | CHECK (((apply_vat IS NOT NULL) OR ((apply_vat IS NULL) AND (fk_doc IS NULL)))) |
bill_bill_sane_comment | CHECK ((gm.is_null_or_non_empty_string(comment) IS TRUE)) |
bill_bill_sane_invoice_id | CHECK ((gm.is_null_or_blank_string(invoice_id) IS FALSE)) |
bill_bill_sane_recv_adr | CHECK (((fk_receiver_address IS NOT NULL) OR (close_date IS NULL))) |
Tables referencing this one via Foreign Key Constraints:
items patients currently *are* billed for
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
bill.bill.pk | fk_bill | ||
clin.encounter.pk | fk_encounter | ||
ref.billable.pk | fk_billable | ||
dem.staff.pk | fk_provider |
Table bill.bill_item Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
bill_bill_item_sane_count | CHECK ((unit_count > '-1'::integer)) |
bill_bill_item_sane_currency | CHECK ((gm.is_null_or_blank_string(currency) IS FALSE)) |
bill_bill_item_sane_desc | CHECK ((gm.is_null_or_non_empty_string(description) IS TRUE)) |
bill_bill_item_sane_multiplier | CHECK ((amount_multiplier > (0)::numeric)) |
valid_stati | CHECK ((status = ANY (ARRAY['new'::text, 'transferred'::text]))) |
actual bills
F-Key | Name | Type | Description |
---|---|---|---|
ref.billable.pk | fk_billable | ||
clin.encounter_type.pk | fk_encounter_type | ||
pk | PRIMARY KEY |
F-Key | Name | Type | Description |
---|
SELECT b_bi.pk AS pk_bill_item , r_b.code AS billable_code , r_b.term AS billable_description , b_bi.description AS item_detail , COALESCE ( (b_bi.date_to_bill)::timestamp with time zone , c_enc.started ) AS date_to_bill , b_bi.net_amount_per_unit , b_bi.unit_count , b_bi.amount_multiplier , ( ( (b_bi.unit_count)::numeric * b_bi.net_amount_per_unit ) * b_bi.amount_multiplier ) AS total_amount , ( ( ( (b_bi.unit_count)::numeric * b_bi.net_amount_per_unit ) * b_bi.amount_multiplier ) * r_b.vat_multiplier ) AS vat , b_bi.currency , b_bi.date_to_bill AS raw_date_to_bill , r_b.amount AS billable_amount , r_b.vat_multiplier , r_b.currency AS billable_currency , r_b.comment AS billable_comment , r_b.active AS billable_active , r_b.discountable AS billable_discountable , r_ds.name_long AS catalog_long , r_ds.name_short AS catalog_short , r_ds.version AS catalog_version , r_ds.lang AS catalog_language , c_enc.fk_patient AS pk_patient , c_enc.fk_type AS pk_encounter_type , b_bi.fk_provider AS pk_provider , b_bi.fk_encounter AS pk_encounter_to_bill , b_bi.fk_bill AS pk_bill , r_b.pk AS pk_billable , r_b.fk_data_source AS pk_data_source , b_bi.xmin AS xmin_bill_item FROM ( ( (bill.bill_item b_bi JOIN ref.billable r_b ON ( (b_bi.fk_billable = r_b.pk) ) ) LEFT JOIN ref.data_source r_ds ON ( (r_b.fk_data_source = r_ds.pk) ) ) LEFT JOIN clin.encounter c_enc ON ( (b_bi.fk_encounter = c_enc.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT b_b.pk AS pk_bill , b_b.invoice_id , b_b.fk_receiver_identity AS pk_receiver_identity , ( SELECT round (sum (v_bill_items.total_amount) , 2 ) AS round FROM bill.v_bill_items WHERE (v_bill_items.pk_bill = b_b.pk) ) AS total_amount , ( SELECT round (sum (v_bill_items.vat) , 2 ) AS round FROM bill.v_bill_items WHERE (v_bill_items.pk_bill = b_b.pk) ) AS total_vat , ( SELECT round (sum ( (v_bill_items.total_amount + v_bill_items.vat) ) , 2 ) AS round FROM bill.v_bill_items WHERE (v_bill_items.pk_bill = b_b.pk) ) AS total_amount_with_vat , ( SELECT (v_bill_items.vat_multiplier * (100)::numeric ) FROM bill.v_bill_items WHERE (v_bill_items.pk_bill = b_b.pk) LIMIT 1 ) AS percent_vat , ( SELECT v_bill_items.currency FROM bill.v_bill_items WHERE (v_bill_items.pk_bill = b_b.pk) LIMIT 1 ) AS currency , b_b.close_date , b_b.apply_vat , b_b.comment , b_b.fk_receiver_address AS pk_receiver_address , b_b.fk_doc AS pk_doc , ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = ( SELECT bill_item.fk_encounter FROM bill.bill_item WHERE (bill_item.fk_bill = b_b.pk) LIMIT 1 ) ) ) AS pk_patient , ( SELECT array_agg (sorted_values.pk_bill_item) AS array_agg FROM ( SELECT b_vbi.pk_bill_item FROM bill.v_bill_items b_vbi WHERE (b_vbi.pk_bill = b_b.pk) ORDER BY b_vbi.date_to_bill , b_vbi.billable_code ) sorted_values ) AS pk_bill_items , b_b.xmin AS xmin_bill FROM bill.bill b_b;
select value from ( select id.pk_id, id.value::integer from dem.v_external_ids4identity id join dem.identity d_i on (id.value = d_i.pk::text) where id.pk_type = (select pk from dem.enum_ext_id_types where name = 'bill receiver' and issuer = 'GNUmed') and id.pk_identity = $1 union all select 0, $1 ) me limit 1;
Prevent bills to become void of items due to deletions/updates of bill items.
DECLARE _item_count integer; _msg text; BEGIN if TG_OP = 'UPDATE' then if OLD.fk_bill IS NULL then return NULL; end if; if OLD.fk_bill IS NOT DISTINCT FROM NEW.fk_bill then return NULL; end if; else if OLD.fk_bill is NULL then return NULL; end if; end if; -- we now either: -- DELETE with .fk_bill NOT NULL -- or: -- UPDATE with an .fk_bill change (including towards fk_bill = NULL) -- let us check whether the (previous) bill still exists -- at all or whether we are deleting the bill (and thereby -- setting our .fk_bill to NULL) -- only works at or below REPEATABLE READ after deletion of bill perform 1 from bill.bill where pk = OLD.fk_bill; if FOUND is FALSE then return NULL; end if; select count(1) into _item_count from bill.bill_item where fk_bill = OLD.fk_bill and pk != OLD.pk; if _item_count > 0 then return NULL; end if; _msg := '[bill.trf_prevent_empty_bills]: cannot remove (by ' || '<' || TG_OP || '>' ||') the only item (bill.bill_item.pk=' || coalesce(OLD.pk::text, '<NULL>'::text) || ') from bill (bill.bill_item.fk_bill=bill.bill.pk=' || coalesce(OLD.fk_bill::text, '<NULL>'::text) || ') '; raise exception unique_violation using message = _msg; return NULL; END;
Prevent bills to link to invoices of another patient.
DECLARE _doc_patient integer; _bill_patient integer; _msg text; BEGIN if NEW.fk_doc IS NULL then return NEW; end if; if TG_OP = 'UPDATE' then if OLD.fk_doc IS NOT DISTINCT FROM NEW.fk_doc then return NEW; end if; end if; -- we now either: -- INSERT with .fk_doc NOT NULL -- or: -- UPDATE with an .fk_bill change to a NON-NULL value select pk_patient into _doc_patient from blobs.v_doc_med where pk_doc = NEW.fk_doc; select pk_patient into _bill_patient from bill.v_bills where pk_bill = NEW.pk; if _doc_patient = _bill_patient then return NEW; end if; _msg := '[bill.trf_prevent_mislinked_bills]: patient mismatch between ' || 'bill (pk=' || NEW.pk || ', patient=' || _bill_patient || ') ' || 'and invoice (pk=' || NEW.fk_doc || ', patient=' || _doc_patient || ')'; raise exception integrity_constraint_violation using message = _msg; return NULL; END;
A textual description of the content such as a result summary. Several of these may belong to one document object.
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
text | UNIQUE#1 | ||
blobs.doc_med.pk | fk_doc | UNIQUE#1 |
Table blobs.doc_desc Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
a medical document object possibly containing several data objects such as several pages of a paper document
F-Key | Name | Type | Description |
---|---|---|---|
blobs.doc_type.pk | fk_type | ||
pk | PRIMARY KEY | ||
dem.org_unit.pk | fk_org_unit | ||
clin.episode.pk | fk_episode | ||
clin.encounter.pk | fk_encounter |
Table blobs.doc_med Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Tables referencing this one via Foreign Key Constraints:
possibly several of these form a medical document such as multiple scanned pages/images
F-Key | Name | Type | Description |
---|---|---|---|
blobs.doc_med.pk | fk_doc | ||
pk | PRIMARY KEY | ||
dem.staff.pk | fk_intended_reviewer |
Name | Constraint |
---|---|
doc_obj_filename_check | CHECK ((btrim(COALESCE(filename, 'NULL'::text)) <> ''::text)) |
Tables referencing this one via Foreign Key Constraints:
this table enumerates the document types known to the system
F-Key | Name | Type | Description |
---|---|---|---|
name | UNIQUE | ||
pk | PRIMARY KEY |
Tables referencing this one via Foreign Key Constraints:
this allows linking documents to episodes, each document can apply to several episodes but only once each
F-Key | Name | Type | Description |
---|---|---|---|
clin.episode.pk | fk_episode | UNIQUE#1 | |
pk | PRIMARY KEY | ||
blobs.doc_med.pk | fk_doc_med | UNIQUE#1 |
Table blobs.lnk_doc_med2episode Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
review table for documents (per object such as a page)
F-Key | Name | Type | Description |
---|---|---|---|
blobs.doc_obj.pk | fk_reviewed_row | UNIQUE#1 | |
pk | PRIMARY KEY | ||
fk_reviewer | UNIQUE#1 |
Table blobs.reviewed_doc_objs Inherits review_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
aggregates some document data descriptions
F-Key | Name | Type | Description |
---|
SELECT vdm.pk_patient , dd.fk_doc AS pk_doc , dd.text AS description , vdm.pk_encounter , vdm.pk_episode , vdm.pk_health_issue , dd.pk AS pk_doc_desc FROM blobs.doc_desc dd , blobs.v_doc_med vdm WHERE (dd.fk_doc = vdm.pk_doc);
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , b_dm.pk AS pk_doc , b_dm.clin_when , b_dt.name AS type , _ (b_dt.name) AS l10n_type , b_dm.ext_ref , b_dm.comment , c_epi.description AS episode , c_hi.description AS health_issue , c_epi.is_open AS episode_open , d_ou.description AS unit , d_o.description AS organization , b_dm.unit_is_receiver , COALESCE ( ( SELECT array_agg (b_do.seq_idx) AS array_agg FROM blobs.doc_obj b_do WHERE (b_do.fk_doc = b_dm.pk) ) , ARRAY[]::integer[] ) AS seq_idx_list , b_dm.fk_type AS pk_type , b_dm.fk_encounter AS pk_encounter , b_dm.fk_episode AS pk_episode , c_epi.fk_health_issue AS pk_health_issue , d_ou.fk_org AS pk_org , b_dm.fk_hospital_stay AS pk_hospital_stay , b_dm.fk_org_unit AS pk_org_unit , b_dm.modified_when , b_dm.modified_by , b_dm.xmin AS xmin_doc_med FROM ( ( ( ( ( (blobs.doc_med b_dm JOIN blobs.doc_type b_dt ON ( (b_dm.fk_type = b_dt.pk) ) ) JOIN clin.encounter c_enc ON ( (b_dm.fk_encounter = c_enc.pk) ) ) JOIN clin.episode c_epi ON ( (b_dm.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_hi.pk = c_epi.fk_health_issue) ) ) LEFT JOIN dem.org_unit d_ou ON ( (b_dm.fk_org_unit = d_ou.pk) ) ) LEFT JOIN dem.org d_o ON ( (d_ou.fk_org = d_o.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , b_dm.modified_when , b_dm.clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = b_dm.modified_by) ) , ( ('<'::text || (b_dm.modified_by)::text ) || '>'::text ) ) AS modified_by , NULL::text AS soap_cat , ('"'::text || ( ( ( ( ( ( ( ( ( ( ( ( ( (_ (b_dt.name) || '" '::text ) || _ ('with'::text) ) || ' '::text ) || ( SELECT count (1) AS count FROM blobs.doc_obj b_do WHERE (b_do.fk_doc = b_dm.pk) ) ) || ' '::text ) || _ ('part(s)'::text ) ) || ' '::text ) || ' '::text ) || to_char (b_dm.clin_when ,'YYYY-MM-DD HH24:MI'::text ) ) || ' '::text ) || COALESCE ( ( (' ['::text || b_dm.ext_ref) || ']'::text ) ,''::text ) ) || CASE WHEN b_dm.unit_is_receiver THEN COALESCE ( ( ( ( ( ( (' '::text || _ ('sent to'::text) ) || d_ou.description ) || ' '::text ) || _ ('of'::text) ) || ' '::text ) || d_o.description ) ,''::text ) ELSE COALESCE ( ( ( ( ( (' @ '::text || d_ou.description) || ' '::text ) || _ ('of'::text) ) || ' '::text ) || d_o.description ) ,''::text ) END ) || ' '::text ) || COALESCE ( (' '::text || b_dm.comment) ,''::text ) ) ) AS narrative , b_dm.fk_encounter AS pk_encounter , b_dm.fk_episode AS pk_episode , c_epi.fk_health_issue AS pk_health_issue , b_dm.pk AS src_pk , 'blobs.doc_med'::text AS src_table , b_dm.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ ( c_ety.description) AS encounter_l10n_type FROM ( ( ( ( ( ( (blobs.doc_med b_dm JOIN clin.encounter c_enc ON ( (b_dm.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN blobs.doc_type b_dt ON ( (b_dm.fk_type = b_dt.pk) ) ) JOIN clin.episode c_epi ON ( (b_dm.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (b_dm.fk_org_unit = d_ou.pk) ) ) LEFT JOIN dem.org d_o ON ( (d_ou.fk_org = d_o.pk) ) ) ;
list active document types, those that are activated for use
F-Key | Name | Type | Description |
---|
SELECT dt.pk AS pk_doc_type , dt.name AS type , _ (dt.name) AS l10n_type , (NOT (EXISTS ( SELECT 1 FROM ref.document_type WHERE (document_type.description = dt.name) ) ) ) AS is_user_defined , (EXISTS ( SELECT 1 FROM blobs.doc_med WHERE (doc_med.fk_type = dt.pk) ) ) AS is_in_use , dt.xmin AS xmin_doc_type FROM blobs.doc_type dt;
shows the latest picture of the patient, currently the highest seq_idx of the newest document of type "patient photograph"
F-Key | Name | Type | Description |
---|
SELECT b_vo4d.pk_patient , b_vo4d.doc_comment , b_vo4d.date_generated AS date_taken , b_vo4d.ext_ref , b_vo4d.seq_idx AS obj_seq_idx , b_vo4d.obj_comment , b_vo4d.pk_doc , b_vo4d.pk_obj , b_do.data AS image FROM blobs.v_obj4doc_no_data b_vo4d , blobs.doc_obj b_do WHERE ( (b_vo4d.type = 'patient photograph'::text) AND (b_vo4d.seq_idx = ( SELECT max (b_vo4d1.seq_idx) AS max FROM blobs.v_obj4doc_no_data b_vo4d1 WHERE ( (b_vo4d1.pk_patient = b_vo4d.pk_patient) AND (b_vo4d1.type = 'patient photograph'::text) ) GROUP BY b_vo4d1.date_generated ORDER BY b_vo4d1.date_generated DESC LIMIT 1 ) ) AND (b_do.pk = b_vo4d.pk_obj) );
denormalized metadata for blobs.doc_obj but without the data itself
F-Key | Name | Type | Description |
---|
SELECT b_vdm.pk_patient , b_do.pk AS pk_obj , b_do.seq_idx , octet_length (COALESCE (b_do.data ,'\x'::bytea ) ) AS size , b_vdm.clin_when AS date_generated , b_vdm.type , b_vdm.l10n_type , b_vdm.ext_ref , b_vdm.episode , b_vdm.comment AS doc_comment , b_do.comment AS obj_comment , b_do.filename , b_do.fk_intended_reviewer AS pk_intended_reviewer , (EXISTS ( SELECT 1 FROM blobs.reviewed_doc_objs WHERE (reviewed_doc_objs.fk_reviewed_row = b_do.pk) ) ) AS reviewed , (EXISTS ( SELECT 1 FROM blobs.reviewed_doc_objs WHERE ( (reviewed_doc_objs.fk_reviewed_row = b_do.pk) AND (reviewed_doc_objs.fk_reviewer = ( SELECT staff.pk FROM dem.staff WHERE (staff.db_user = "current_user" () ) ) ) ) ) ) AS reviewed_by_you , (EXISTS ( SELECT 1 FROM blobs.reviewed_doc_objs WHERE ( (reviewed_doc_objs.fk_reviewed_row = b_do.pk) AND (reviewed_doc_objs.fk_reviewer = b_do.fk_intended_reviewer) ) ) ) AS reviewed_by_intended_reviewer , b_vdm.pk_doc , b_vdm.pk_type , b_vdm.pk_encounter , b_vdm.pk_episode , b_vdm.pk_health_issue , b_vdm.pk_org , b_vdm.pk_org_unit , b_vdm.pk_hospital_stay , b_do.xmin AS xmin_doc_obj FROM (blobs.v_doc_med b_vdm JOIN blobs.doc_obj b_do ON ( (b_do.fk_doc = b_vdm.pk_doc) ) ) WHERE (b_vdm.pk_doc = b_do.fk_doc);
F-Key | Name | Type | Description |
---|
SELECT rdo.fk_reviewed_row AS pk_doc_obj , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.pk = rdo.fk_reviewer) ) , ( ('<#'::text || rdo.fk_reviewer) || '>'::text ) ) AS reviewer , rdo.is_technically_abnormal , rdo.clinically_relevant , (EXISTS ( SELECT 1 FROM blobs.doc_obj WHERE ( (doc_obj.pk = rdo.fk_reviewed_row) AND (doc_obj.fk_intended_reviewer = rdo.fk_reviewer) ) ) ) AS is_review_by_responsible_reviewer , (EXISTS ( SELECT 1 FROM dem.staff WHERE ( (staff.pk = rdo.fk_reviewer) AND (staff.db_user = "current_user" () ) ) ) ) AS is_your_review , rdo.comment , rdo.modified_when AS reviewed_when , rdo.modified_by , rdo.pk AS pk_review_root , rdo.fk_reviewer AS pk_reviewer , ( SELECT v_obj4doc_no_data.pk_patient FROM blobs.v_obj4doc_no_data WHERE (v_obj4doc_no_data.pk_obj = rdo.fk_reviewed_row) ) AS pk_patient , ( SELECT v_obj4doc_no_data.pk_encounter FROM blobs.v_obj4doc_no_data WHERE (v_obj4doc_no_data.pk_obj = rdo.fk_reviewed_row) ) AS pk_encounter , ( SELECT v_obj4doc_no_data.pk_episode FROM blobs.v_obj4doc_no_data WHERE (v_obj4doc_no_data.pk_obj = rdo.fk_reviewed_row) ) AS pk_episode , ( SELECT v_obj4doc_no_data.pk_health_issue FROM blobs.v_obj4doc_no_data WHERE (v_obj4doc_no_data.pk_obj = rdo.fk_reviewed_row) ) AS pk_health_issue FROM blobs.reviewed_doc_objs rdo;
F-Key | Name | Type | Description |
---|
SELECT DISTINCT ON (b_do.fk_doc) b_do.fk_doc AS pk_doc , min (b_do.fk_intended_reviewer) AS pk_intended_reviewer , min (c_e.fk_patient) AS pk_patient FROM ( (blobs.doc_obj b_do JOIN blobs.doc_med b_dm ON ( (b_dm.pk = b_do.fk_doc) ) ) JOIN clin.encounter c_e ON ( (b_dm.fk_encounter = c_e.pk) ) ) WHERE (NOT (EXISTS ( SELECT 1 FROM blobs.reviewed_doc_objs b_rdo WHERE (b_rdo.fk_reviewed_row = b_do.pk) ) ) ) GROUP BY b_do.fk_doc;
F-Key | Name | Type | Description |
---|
SELECT now () AS received_when , '<system>'::text AS modified_by , NULL::text AS provider , 0 AS importance , 'clinical'::text AS category , _ ('clinical'::text) AS l10n_category , 'review docs'::text AS type , _ ('review docs'::text) AS l10n_type , ( SELECT ( ( ( ( ( (b_vuds.no_of_docs || ' '::text) || _ ('unreviewed documents for patient'::text) ) || ' '::text ) || d_n.lastnames ) || ', '::text ) || d_n.firstnames ) ) AS comment , NULL::integer[] AS pk_context , NULL::text AS data , NULL::integer AS pk_inbox_message , ( SELECT staff.pk FROM dem.staff WHERE (staff.db_user = "current_user" () ) ) AS pk_staff , ( SELECT v_inbox_item_type.pk_category FROM dem.v_inbox_item_type WHERE (v_inbox_item_type.type = 'review docs'::text) ) AS pk_category , ( SELECT v_inbox_item_type.pk_type FROM dem.v_inbox_item_type WHERE (v_inbox_item_type.type = 'review docs'::text) ) AS pk_type , b_vuds.pk_patient , true AS is_virtual , (now () - '01:00:00'::interval ) AS due_date , NULL::timestamp with time zone AS expiry_date , true AS is_overdue , false AS is_expired , '01:00:00'::interval AS interval_due , NULL::integer AS xmin_message_inbox FROM (blobs.v_unreviewed_docs_summary b_vuds JOIN dem.names d_n ON ( (b_vuds.pk_patient = d_n.id_identity) ) ) WHERE (d_n.active IS TRUE);
F-Key | Name | Type | Description |
---|
SELECT b_vud.pk_patient , count (1) AS no_of_docs FROM blobs.v_unreviewed_docs b_vud GROUP BY b_vud.pk_patient;
DECLARE _pk_doc alias for $1; _pk_encounter alias for $2; _del_note text; _doc_row record; _obj_row record; tmp text; BEGIN select * into _doc_row from blobs.doc_med where pk = _pk_doc; _del_note := _('Deletion of document') || E': ' || ' ' || to_char(_doc_row.clin_when, 'YYYY-MM-DD HH24:MI') || ' "' || (select _(dt.name) from blobs.doc_type dt where pk = _doc_row.fk_type) || '"' || coalesce(' (' || _doc_row.ext_ref || ')', '') || coalesce(E' ' || _doc_row.comment, '') ; FOR _obj_row IN select * from blobs.doc_obj where fk_doc = _pk_doc order by seq_idx LOOP _del_note := _del_note || E' ' || ' #' || coalesce(_obj_row.seq_idx, '-1') || ': "' || coalesce(_obj_row.comment, '') || E'" ' || ' ' || coalesce(_obj_row.filename, '') || E' '; end LOOP; insert into clin.clin_narrative (fk_encounter, fk_episode, narrative, soap_cat) values ( _pk_encounter, _doc_row.fk_episode, _del_note, NULL ); -- should auto-cascade: --delete from blobs.doc_obj where fk_doc = _pk_doc; -- should auto-NULL: --bill.bill.fk_doc delete from blobs.doc_med where pk = _pk_doc; return True; END;
DECLARE _pk_doc_part alias for $1; _pk_encounter alias for $2; _del_note text; _doc_row record; _obj_row record; tmp text; BEGIN select * into _obj_row from blobs.doc_obj where pk = _pk_doc_part; select * into _doc_row from blobs.doc_med where pk = _obj_row.fk_doc; _del_note := _('Deletion of part from document') || E': ' || ' ' || to_char(_doc_row.clin_when, 'YYYY-MM-DD HH24:MI') || ' "' || (select _(dt.name) from blobs.doc_type dt where pk = _doc_row.fk_type) || '"' || coalesce(' (' || _doc_row.ext_ref || ')', '') || coalesce(E' ' || _doc_row.comment, '') || E' ' || ' #' || coalesce(_obj_row.seq_idx, '-1') || ': "' || coalesce(_obj_row.comment, '') || E'" ' || ' ' || coalesce(_obj_row.filename, '') || E' ' ; insert into clin.clin_narrative (fk_encounter, fk_episode, narrative, soap_cat) values ( _pk_encounter, _doc_row.fk_episode, _del_note, NULL ); delete from blobs.doc_obj where pk = _pk_doc_part; return True; END;
This trigger function is called before a lnk_doc_med2episode row is inserted or updated. It makes sure the episode does not duplicate the primary episode for this document listed in doc_med. If it does the insert/update is skipped.
BEGIN -- if already in doc_med perform 1 from blobs.doc_med dm where dm.fk_episode = NEW.fk_episode and dm.pk = NEW.fk_doc_med; if FOUND then -- skip the insert/update return null; end if; return NEW; END;
BEGIN if (NEW.data != OLD.data) or ((NEW.data != OLD.data) is NULL) then delete from blobs.reviewed_doc_objs where fk_reviewed_row = OLD.pk; end if; return NEW; END;
This trigger function is called when a doc_med row is inserted or updated. It makes sure the primary episode listed in doc_med is not duplicated in lnk_doc_med2episode for the same document. If it exists in the latter it is removed from there.
BEGIN -- if update if TG_OP = 'UPDATE' then -- and no change if NEW.fk_episode = OLD.fk_episode then -- then do nothing return NEW; end if; end if; -- if already in link table perform 1 from blobs.lnk_doc_med2episode ldm2e where ldm2e.fk_episode = NEW.fk_episode and ldm2e.fk_doc_med = NEW.pk; if FOUND then -- delete from link table delete from blobs.lnk_doc_med2episode where fk_episode = NEW.fk_episode and fk_doc_med = NEW.pk; end if; return NEW; END;
Set the default on blobs.doc_obj.fk_intended_reviewer.
DECLARE _pk_patient integer; _pk_provider integer; BEGIN -- explicitely set ? if NEW.fk_intended_reviewer is not NULL then return NEW; end if; -- find patient via document select fk_patient into _pk_patient from clin.encounter where clin.encounter.pk = ( select fk_encounter from blobs.doc_med where pk = NEW.fk_doc ); -- does patient have primary provider ? select fk_primary_provider into _pk_provider from dem.identity where dem.identity.pk = _pk_patient; if _pk_provider is not NULL then NEW.fk_intended_reviewer := _pk_provider; return NEW; end if; -- else use CURRENT_USER select pk into _pk_provider from dem.staff where dem.staff.db_user = current_user; NEW.fk_intended_reviewer := _pk_provider; return NEW; END;
declare msg text; begin if NEW.seq_idx is NULL then return NEW; end if; perform 1 from blobs.doc_obj where pk <> NEW.pk and fk_doc = NEW.fk_doc and seq_idx = NEW.seq_idx; if FOUND then msg := '[blobs.trf_verify_page_number]: uniqueness violation: seq_idx [' || NEW.seq_idx || '] already exists for fk_doc [' || NEW.fk_doc || ']'; raise exception '%', msg; end if; return NEW; end;
This schema holds all the configuration data.
stores opaque configuration data, either text or binary, note that it will be difficult to share such options among different types of clients
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
cfg.cfg_item.pk | fk_item |
this table holds all "instances" of cfg.cfg_template
F-Key | Name | Type | Description |
---|---|---|---|
workplace | UNIQUE#1 | ||
owner | UNIQUE#1 | ||
pk | PRIMARY KEY | ||
cfg.cfg_template.pk | fk_template | UNIQUE#1 | |
cookie | UNIQUE#1 |
Tables referencing this one via Foreign Key Constraints:
F-Key | Name | Type | Description |
---|---|---|---|
cfg.cfg_item.pk | fk_item | ||
pk | PRIMARY KEY |
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
cfg.cfg_item.pk | fk_item |
F-Key | Name | Type | Description |
---|---|---|---|
cfg.cfg_item.pk | fk_item | ||
pk | PRIMARY KEY |
meta definition of config items
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
cfg.cfg_type_enum.name | type |
Tables referencing this one via Foreign Key Constraints:
enumeration of config option data types
F-Key | Name | Type | Description |
---|---|---|---|
name | UNIQUE |
Tables referencing this one via Foreign Key Constraints:
maps a service name to a database location for a particular user, includes user credentials for that database
F-Key | Name | Type | Description |
---|---|---|---|
id | PRIMARY KEY |
Stores a banner to show when clients log on.
F-Key | Name | Type | Description |
---|---|---|---|
singularizer | UNIQUE |
Name | Constraint |
---|---|
db_logon_banner_message_check | CHECK ((btrim(message) <> ''::text)) |
db_logon_banner_singularizer_check | CHECK ((singularizer IS TRUE)) |
This table stores SQL commands to be used in frontend report style queries.
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
label | UNIQUE |
Table cfg.report_query Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
report_query_cmd_check | CHECK ((btrim(COALESCE(cmd, 'NULL'::text)) <> ''::text)) |
report_query_label_check | CHECK ((btrim(COALESCE(label, 'NULL'::text)) <> ''::text)) |
F-Key | Name | Type | Description |
---|
SELECT cfg_t.name AS option , cfg_t.description , cfg_i.owner , cfg_i.workplace , cfg_i.cookie , cfg_t.type , cfg_t.cfg_group AS "group" , cfg_t.pk AS pk_cfg_template , cfg_i.pk AS pk_cfg_item FROM cfg.cfg_template cfg_t , cfg.cfg_item cfg_i WHERE (cfg_i.fk_template = cfg_t.pk);
F-Key | Name | Type | Description |
---|
SELECT cfg_t.name AS option , cfg_v.value , cfg_t.description , cfg_i.owner , cfg_i.workplace , cfg_i.cookie , cfg_t.cfg_group AS "group" , cfg_t.pk AS pk_cfg_template , cfg_i.pk AS pk_cfg_item FROM cfg.cfg_template cfg_t , cfg.cfg_item cfg_i , cfg.cfg_data cfg_v WHERE ( (cfg_i.fk_template = cfg_t.pk) AND (cfg_v.fk_item = cfg_i.pk) );
F-Key | Name | Type | Description |
---|
SELECT cfg_t.name AS option , cfg_v.value , cfg_t.description , cfg_i.owner , cfg_i.workplace , cfg_i.cookie , cfg_t.cfg_group AS "group" , cfg_t.pk AS pk_cfg_template , cfg_i.pk AS pk_cfg_item FROM cfg.cfg_template cfg_t , cfg.cfg_item cfg_i , cfg.cfg_numeric cfg_v WHERE ( (cfg_i.fk_template = cfg_t.pk) AND (cfg_v.fk_item = cfg_i.pk) );
F-Key | Name | Type | Description |
---|
SELECT cfg_t.name AS option , cfg_v.value , cfg_t.description , cfg_i.owner , cfg_i.workplace , cfg_i.cookie , cfg_t.cfg_group AS "group" , cfg_t.pk AS pk_cfg_template , cfg_i.pk AS pk_cfg_item FROM cfg.cfg_template cfg_t , cfg.cfg_item cfg_i , cfg.cfg_str_array cfg_v WHERE ( (cfg_i.fk_template = cfg_t.pk) AND (cfg_v.fk_item = cfg_i.pk) );
F-Key | Name | Type | Description |
---|
SELECT cfg_t.name AS option , cfg_v.value , cfg_t.description , cfg_i.owner , cfg_i.workplace , cfg_i.cookie , cfg_t.cfg_group AS "group" , cfg_t.pk AS pk_cfg_template , cfg_i.pk AS pk_cfg_item FROM cfg.cfg_template cfg_t , cfg.cfg_item cfg_i , cfg.cfg_string cfg_v WHERE ( (cfg_i.fk_template = cfg_t.pk) AND (cfg_v.fk_item = cfg_i.pk) );
declare _option alias for $1; _val_type alias for $2; _workplace alias for $3; _cookie alias for $4; _owner alias for $5; real_owner text; pk_template integer; pk_item integer; begin -- check template select into pk_template pk from cfg.cfg_template where name = _option and type = _val_type; if not FOUND then insert into cfg.cfg_template (name, type) values (_option, _val_type); select into pk_template currval('cfg.cfg_template_pk_seq'); end if; if _owner is null then select into real_owner CURRENT_USER; else real_owner := _owner; end if; -- check item if _cookie is NULL then select into pk_item pk from cfg.cfg_item where fk_template = pk_template and owner = real_owner and workplace = _workplace and cookie is null; else select into pk_item pk from cfg.cfg_item where fk_template = pk_template and owner = real_owner and workplace = _workplace and cookie = _cookie; end if; if FOUND then return pk_item; end if; insert into cfg.cfg_item ( fk_template, workplace, cookie, owner ) values ( pk_template, _workplace, _cookie, real_owner ); select into pk_item currval('cfg.cfg_item_pk_seq'); return pk_item; end;
set option, owner = NULL means CURRENT_USER
declare _option alias for $1; _value alias for $2; _workplace alias for $3; _cookie alias for $4; _owner alias for $5; val_type text; pk_item integer; rows integer; cmd text; begin -- determine data type if _value is of (text, char, varchar, name) then val_type := 'string'; elsif _value is of (smallint, integer, bigint, numeric, boolean) then val_type := 'numeric'; elsif _value is of (bytea) then val_type := 'data'; elsif _value is of (text[]) then val_type := 'str_array'; else raise exception 'cfg.set_option(text, any, text, text, text): invalid type of value'; end if; -- create template/item if need be select into pk_item cfg.create_cfg_item(_option, val_type, _workplace, _cookie, _owner); -- set item value cmd := 'select 1 from cfg.cfg_' || val_type || ' where fk_item=' || pk_item || ';'; execute cmd; get diagnostics rows = row_count; found := rows <> 0; if FOUND then if val_type = 'str_array' then cmd := 'update cfg.cfg_str_array set value=''{"' || array_to_string(_value, '","') || '"}'' where fk_item=' || pk_item || ';'; elsif val_type = 'data' then cmd := 'update cfg.cfg_data set value=''' || encode(_value, 'escape') || ''' where fk_item=' || pk_item || ';'; else cmd := 'update cfg.cfg_' || val_type || ' set value=' || quote_literal(_value) || ' where fk_item=' || pk_item || ';'; end if; execute cmd; return True; end if; if val_type = 'str_array' then cmd := 'insert into cfg.cfg_str_array(fk_item, value) values (' || pk_item || ', ''{"' || array_to_string(_value, '","') || '"}'');'; elsif val_type = 'data' then cmd := 'insert into cfg.cfg_data(fk_item, value) values (' || pk_item || ', ''' || encode(_value, 'escape') || ''');'; else cmd := 'insert into cfg.cfg_' || val_type || ' (fk_item, value) values (' || pk_item || ', ' || quote_literal(_value) || ');'; end if; execute cmd; return True; end;
F-Key | Name | Type | Description |
---|---|---|---|
value | UNIQUE | ||
pk | PRIMARY KEY |
Tables referencing this one via Foreign Key Constraints:
F-Key | Name | Type | Description |
---|
SELECT v_emr_journal.pk_patient , v_emr_journal.modified_when , v_emr_journal.clin_when , v_emr_journal.modified_by , v_emr_journal.soap_cat , v_emr_journal.narrative , v_emr_journal.pk_encounter , v_emr_journal.pk_episode , v_emr_journal.pk_health_issue , v_emr_journal.src_pk , v_emr_journal.src_table , v_emr_journal.row_version , v_emr_journal.health_issue , v_emr_journal.issue_laterality , v_emr_journal.issue_active , v_emr_journal.issue_clinically_relevant , v_emr_journal.issue_confidential , v_emr_journal.episode , v_emr_journal.episode_open , v_emr_journal.encounter_started , v_emr_journal.encounter_last_affirmed , v_emr_journal.encounter_type , v_emr_journal.encounter_l10n_type FROM clin.v_emr_journal WHERE (v_emr_journal.src_table <> 'clin.suppressed_hint'::text);
patient allergy details
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
clin.encounter.pk | fk_encounter | ||
clin.episode.pk | fk_episode | ||
clin._enum_allergy_type.pk | fk_type |
Table clin.allergy Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
F-Key | Name | Type | Description |
---|---|---|---|
clin.encounter.pk | fk_encounter | ||
pk | PRIMARY KEY |
Table clin.allergy_state Inherits audit_fields,
Name | Constraint |
---|---|
allergy_state_check | CHECK (((has_allergy IS NULL) OR ((has_allergy IS NOT NULL) AND (last_confirmed IS NOT NULL)))) |
allergy_state_has_allergy_check | CHECK ((has_allergy = ANY (ARRAY[NULL::integer, 0, 1]))) |
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Other tables link to this if they need more free text fields.
F-Key | Name | Type | Description |
---|---|---|---|
clin.encounter.pk | fk_encounter | ||
clin.episode.pk | fk_episode | ||
pk | PRIMARY KEY |
Table clin.clin_aux_note Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
stores additional detail on those clin.clin_narrative rows where soap_cat=a that are true diagnoses, true diagnoses DO have a code from one of the coding systems
F-Key | Name | Type | Description |
---|---|---|---|
clin.clin_narrative.pk | fk_narrative | UNIQUE | |
pk | PRIMARY KEY |
Table clin.clin_diag Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_diag_laterality_check | CHECK (((laterality = ANY (ARRAY['l'::bpchar, 'r'::bpchar, 'b'::bpchar, '?'::bpchar])) OR (laterality IS NULL))) |
if_active_then_relevant | CHECK (((is_active = false) OR ((is_active = true) AND (clinically_relevant = true)))) |
stores arbitrary types for tagging clinical items
F-Key | Name | Type | Description |
---|---|---|---|
type | UNIQUE | ||
code | UNIQUE | ||
pk | PRIMARY KEY |
Table clin.clin_item_type Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Tables referencing this one via Foreign Key Constraints:
Used to store clinical free text *not* associated with any other table. Used to implement a simple SOAP structure. Also other tags can be associated via link tables.
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
clin.encounter.pk | fk_encounter | ||
clin.episode.pk | fk_episode |
Table clin.clin_narrative Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
narrative_neither_null_nor_empty | CHECK ((btrim(COALESCE(narrative, ''::text)) <> ''::text)) |
Tables referencing this one via Foreign Key Constraints:
idx_clin_clin_narrative_fk_encounter fk_encounter idx_clin_clin_narrative_fk_episode fk_episode idx_narrative_modified_by modified_by idx_narrative_soap_cat soap_cat) WHERE (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])ancestor table for clinical items of any kind, basic unit of clinical information, do *not* store data in here directly, use child tables, contains all the clinical narrative aggregated for full text search, ancestor for all tables that want to store clinical free text
F-Key | Name | Type | Description |
---|---|---|---|
pk_item | PRIMARY KEY | ||
clin.episode.pk | fk_episode | ||
clin.encounter.pk | fk_encounter |
Table clin.clin_root_item Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
a clinical encounter between a person and the health care system
F-Key | Name | Type | Description |
---|---|---|---|
dem.org_unit.pk | fk_location | ||
clin.encounter_type.pk | fk_type | ||
clin.patient.fk_identity | fk_patient | ||
pk | PRIMARY KEY |
Table clin.encounter Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_enc_sane_duration | CHECK ((last_affirmed >= started)) |
encounter_assessment_of_encounter_check | CHECK ((btrim(COALESCE(assessment_of_encounter, 'xxxDEFAULTxxx'::text)) <> ''::text)) |
encounter_reason_for_encounter_check | CHECK ((btrim(COALESCE(reason_for_encounter, 'xxxDEFAULTxxx'::text)) <> ''::text)) |
Tables referencing this one via Foreign Key Constraints:
idx_clin_encounter_fk_location fk_location idx_encounter_affirmed last_affirmed idx_encounter_modified_by modified_by idx_encounter_started started idx_pat_per_encounter fk_patientthese are the types of encounter
F-Key | Name | Type | Description |
---|---|---|---|
description | UNIQUE | ||
pk | PRIMARY KEY |
Tables referencing this one via Foreign Key Constraints:
Clinical episodes such as "Otitis media", "traffic accident 7/99", "Hepatitis B". This covers a range of time in which activity of illness was noted for the problem episode.description.
F-Key | Name | Type | Description |
---|---|---|---|
clin.health_issue.pk | fk_health_issue | ||
pk | PRIMARY KEY | ||
clin.encounter.pk | fk_encounter |
Table clin.episode Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
episode_sane_summary | CHECK (gm.is_null_or_non_empty_string(summary)) |
sane_description | CHECK ((gm.is_null_or_blank_string(description) IS FALSE)) |
valid_diagnostic_certainty_classification | CHECK ((diagnostic_certainty_classification = ANY (ARRAY['A'::text, 'B'::text, 'C'::text, 'D'::text, NULL::text]))) |
Tables referencing this one via Foreign Key Constraints:
idx_episode_fk_encounter fk_encounter idx_episode_issue fk_health_issue idx_episode_modified_by modified_by idx_episode_with_issue fk_health_issue) WHERE (fk_health_issue IS NOT NULL idx_episode_without_issue fk_health_issue) WHERE (fk_health_issue IS NULLA table to hold binary data for patients intended for export as print/mail/fax/removable media/...
F-Key | Name | Type | Description |
---|---|---|---|
blobs.doc_obj.pk | fk_doc_obj | UNIQUE | |
clin.patient.fk_identity | fk_identity | UNIQUE#1 | |
description | UNIQUE#1 | ||
pk | PRIMARY KEY |
Name | Constraint |
---|---|
clin_export_item_fk_obj_or_data | CHECK ((((data IS NULL) AND (fk_doc_obj IS NOT NULL)) OR ((data IS NOT NULL) AND (fk_doc_obj IS NULL)))) |
clin_export_item_fk_obj_or_filename | CHECK ((((filename IS NULL) AND (fk_doc_obj IS NOT NULL)) OR ((filename IS NOT NULL) AND (fk_doc_obj IS NULL)))) |
clin_export_item_sane_by | CHECK ((length((created_by)::text) > 0)) |
clin_export_item_sane_data | CHECK (((data IS NULL) OR (length(data) > 0))) |
clin_export_item_sane_description | CHECK ((gm.is_null_or_blank_string(description) IS FALSE)) |
clin_export_item_sane_designation | CHECK ((gm.is_null_or_non_empty_string(designation) IS TRUE)) |
clin_export_item_sane_filename | CHECK ((gm.is_null_or_non_empty_string(filename) IS TRUE)) |
lists external care situations for patients
F-Key | Name | Type | Description |
---|---|---|---|
clin.health_issue.pk | fk_health_issue | UNIQUE#1 | |
pk | PRIMARY KEY | ||
dem.org_unit.pk | fk_org_unit | UNIQUE#1 | |
clin.encounter.pk | fk_encounter |
Table clin.external_care Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_ext_care_issue_xor_fk_issue | CHECK ((((fk_health_issue IS NULL) AND (issue IS NOT NULL)) OR ((fk_health_issue IS NOT NULL) AND (issue IS NULL)))) |
clin_ext_care_sane_comment | CHECK ((gm.is_null_or_non_empty_string(comment) IS TRUE)) |
clin_ext_care_sane_issue | CHECK ((gm.is_null_or_non_empty_string(issue) IS TRUE)) |
clin_ext_care_sane_provider | CHECK ((gm.is_null_or_non_empty_string(provider) IS TRUE)) |
This table stores family history items on persons not otherwise in the database.
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
clin.fhx_relation_type.pk | fk_relation_type | ||
clin.encounter.pk | fk_encounter | ||
clin.episode.pk | fk_episode |
Table clin.family_history Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
c_family_history_sane_age_noted | CHECK ((gm.is_null_or_non_empty_string(age_noted) IS TRUE)) |
c_family_history_sane_condition | CHECK ((gm.is_null_or_blank_string(narrative) IS FALSE)) |
c_family_history_sane_name | CHECK ((gm.is_null_or_non_empty_string(name_relative) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
narrative_neither_null_nor_empty | CHECK ((btrim(COALESCE(narrative, ''::text)) <> ''::text)) |
Tables referencing this one via Foreign Key Constraints:
idx_clin_family_history_fk_encounter fk_encounter idx_clin_family_history_fk_episode fk_episodeEnumerates inter-person relations for family history linking.
F-Key | Name | Type | Description |
---|---|---|---|
is_genetic | UNIQUE#1 | ||
description | UNIQUE#1 | ||
pk | PRIMARY KEY |
Table clin.fhx_relation_type Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
c_fhx_relation_type_sane_desc | CHECK ((gm.is_null_or_blank_string(description) IS FALSE)) |
Tables referencing this one via Foreign Key Constraints:
holds the values used in form instances, for later re-use/validation
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
public.form_fields.pk | fk_form_field | UNIQUE#1 | |
clin.form_instances.pk | fk_instance | UNIQUE#1 |
Table clin.form_data Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
instances of forms, like a log of all processed forms
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
ref.paperwork_templates.pk | fk_form_def | ||
clin.episode.pk | fk_episode | ||
clin.encounter.pk | fk_encounter |
Table clin.form_instances Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
form_is_plan | CHECK ((soap_cat = 'p'::text)) |
Tables referencing this one via Foreign Key Constraints:
idx_clin_form_instances_fk_encounter fk_encounter idx_clin_form_instances_fk_episode fk_episodeThis is pretty much what others would call "Past Medical History" or "Foundational illness", eg. longer-ranging, underlying, encompassing issues with one's health such as "immunodeficiency", "type 2 diabetes". In Belgium it is called "problem". L.L.Weed includes lots of little things into it, we do not.
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
clin.encounter.pk | fk_encounter |
Table clin.health_issue Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
health_issue_laterality_check | CHECK (((laterality)::text = ANY (ARRAY[(NULL::character varying)::text, ('s'::character varying)::text, ('d'::character varying)::text, ('sd'::character varying)::text, ('na'::character varying)::text]))) |
health_issue_sane_summary | CHECK (gm.is_null_or_non_empty_string(summary)) |
issue_name_not_empty | CHECK ((btrim(description) <> ''::text)) |
sane_grouping | CHECK (gm.is_null_or_non_empty_string("grouping")) |
valid_diagnostic_certainty_classification | CHECK ((diagnostic_certainty_classification = ANY (ARRAY['A'::text, 'B'::text, 'C'::text, 'D'::text, NULL::text]))) |
Tables referencing this one via Foreign Key Constraints:
idx_health_issue_modified_by modified_bycollects data on hospitalisations of patients, reasons are linked via a link table
F-Key | Name | Type | Description |
---|---|---|---|
clin.episode.pk | fk_episode | ||
clin.encounter.pk | fk_encounter | ||
dem.org_unit.pk | fk_org_unit | ||
pk | PRIMARY KEY |
Table clin.hospital_stay Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
sane_duration | CHECK (((discharge IS NULL) OR (discharge > clin_when))) |
sane_hospital | CHECK (gm.is_null_or_non_empty_string(narrative)) |
Tables referencing this one via Foreign Key Constraints:
idx_clin_hospital_stay_fk_encounter fk_encounter idx_clin_hospital_stay_fk_episode fk_episodethis table holds test results that could not be matched to any patient, it is intended to prevent overflow of incoming_data_unmatched with unmatchable data
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY |
Table clin.incoming_data_unmatchable Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
this table holds incoming data (lab results, documents) that could not be matched to one single patient automatically, it is intended to facilitate manual matching, - use "modified_when" for import time
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
dem.staff.pk | fk_provider_disambiguated | ||
clin.patient.fk_identity | fk_identity_disambiguated |
Table clin.incoming_data_unmatched Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
unmatched_data_sane_comment | CHECK ((gm.is_null_or_non_empty_string(comment) IS TRUE)) |
test request metadata
F-Key | Name | Type | Description |
---|---|---|---|
dem.identity.pk | fk_requestor | ||
clin.episode.pk | fk_episode | ||
clin.encounter.pk | fk_encounter | ||
clin.test_org.pk | fk_test_org | UNIQUE#1 | |
pk | PRIMARY KEY | ||
request_id | UNIQUE#1 |
Table clin.lab_request Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_lab_req_sane_test_org_note | CHECK ((gm.is_null_or_non_empty_string(note_test_org) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
lab_request_request_id_check | CHECK ((btrim(request_id) <> ''::text)) |
lab_request_request_status_check | CHECK ((request_status = ANY (ARRAY['pending'::text, 'preliminary'::text, 'partial'::text, 'final'::text]))) |
Tables referencing this one via Foreign Key Constraints:
idx_clin_lab_request_fk_encounter fk_encounter idx_clin_lab_request_fk_episode fk_episodeLinks codes to encounter.aoe.
F-Key | Name | Type | Description |
---|---|---|---|
clin.encounter.pk | fk_item | UNIQUE#1 | |
pk | PRIMARY KEY | ||
fk_generic_code | UNIQUE#1 |
Table clin.lnk_code2aoe Inherits lnk_code2item_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Links codes to episodes.
F-Key | Name | Type | Description |
---|---|---|---|
fk_generic_code | UNIQUE#1 | ||
clin.episode.pk | fk_item | UNIQUE#1 | |
pk | PRIMARY KEY |
Table clin.lnk_code2episode Inherits lnk_code2item_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Links codes to family history items.
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
clin.family_history.pk | fk_item | UNIQUE#1 | |
fk_generic_code | UNIQUE#1 |
Table clin.lnk_code2fhx Inherits lnk_code2item_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Links codes to health issues.
F-Key | Name | Type | Description |
---|---|---|---|
fk_generic_code | UNIQUE#1 | ||
clin.health_issue.pk | fk_item | UNIQUE#1 | |
pk | PRIMARY KEY |
Table clin.lnk_code2h_issue Inherits lnk_code2item_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
The parent table of all tables linking codes to EMR structures. Coding tables check this table for existence of their PK in .fk_generic_code in order to prevent cascading DELETEs/UPDATEs from breaking referential integrity. EMR structure tables foreign key into children of this table in order to link structures to codes.
F-Key | Name | Type | Description |
---|---|---|---|
pk_lnk_code2item | PRIMARY KEY |
Table clin.lnk_code2item_root Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Links codes to SOAP narrative.
F-Key | Name | Type | Description |
---|---|---|---|
fk_generic_code | UNIQUE#1 | ||
clin.clin_narrative.pk | fk_item | UNIQUE#1 | |
pk | PRIMARY KEY |
Table clin.lnk_code2narrative Inherits lnk_code2item_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Links codes to procedures. OPS comes to mind.
F-Key | Name | Type | Description |
---|---|---|---|
clin.procedure.pk | fk_item | UNIQUE#1 | |
pk | PRIMARY KEY | ||
fk_generic_code | UNIQUE#1 |
Table clin.lnk_code2procedure Inherits lnk_code2item_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Links codes to encounters.
F-Key | Name | Type | Description |
---|---|---|---|
fk_generic_code | UNIQUE#1 | ||
pk | PRIMARY KEY | ||
clin.encounter.pk | fk_item | UNIQUE#1 |
Table clin.lnk_code2rfe Inherits lnk_code2item_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Links codes to test panels.
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
clin.test_panel.pk | fk_item | UNIQUE#1 | |
fk_generic_code | UNIQUE#1 |
Table clin.lnk_code2tst_pnl Inherits lnk_code2item_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
links constraints to courses
F-Key | Name | Type | Description |
---|---|---|---|
clin.vaccination_course_constraint.pk | fk_constraint | UNIQUE#1 | |
clin.vaccination_course.pk | fk_vaccination_course | UNIQUE#1 | |
pk | PRIMARY KEY |
Table clin.lnk_constraint2vacc_course Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Links LOINC codes to test panels which thusly become part of said panel.
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
clin.test_panel.pk | fk_test_panel |
Table clin.lnk_loinc2test_panel Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_ll2tp_sane_loinc | CHECK ((gm.is_null_or_blank_string(loinc) IS FALSE)) |
links patients to vaccination courses they are actually on, this allows for per-patient selection of courses to be followed, eg. children at different ages may be on different vaccination courses or some people are on a course due to a trip abroad while most others are not
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
clin.vaccination_course.pk | fk_course | UNIQUE#1 | |
clin.patient.fk_identity | fk_patient | UNIQUE#1 |
Table clin.lnk_pat2vaccination_course Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
F-Key | Name | Type | Description |
---|---|---|---|
clin.substance_intake.pk | fk_substance | ||
clin.episode.pk | fk_episode | ||
pk | PRIMARY KEY |
Table clin.lnk_substance2episode Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
links test result evaluation norms to tests
F-Key | Name | Type | Description |
---|---|---|---|
id | PRIMARY KEY | ||
clin.test_type.pk | id_test | UNIQUE#1 | |
id_norm | UNIQUE#1 |
Table clin.lnk_tst2norm Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
allow to link many-to-many between clin.clin_root_item and clin.clin_item_type
F-Key | Name | Type | Description |
---|---|---|---|
clin.clin_item_type.pk | fk_type | UNIQUE#1 | |
pk | PRIMARY KEY | ||
fk_item | UNIQUE#1 |
Table clin.lnk_type2item Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
this table links vaccination courses for a single epitope into schedules defined and recommended by a vaccination council or similar entity
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
clin.vaccination_course.pk | fk_course | UNIQUE | |
clin.vaccination_schedule.pk | fk_schedule |
Table clin.lnk_vaccination_course2schedule Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
this table merges test types from various test orgs which are intended to measure the same value but have differing names into one logical test type, this is not intended to be used for aggregating semantically different test types into "profiles"
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
abbrev | UNIQUE#1 | ||
name | UNIQUE#1 |
Tables referencing this one via Foreign Key Constraints:
A table to hold unique-per-identity *clinical* items, such as Expected Due Date.
F-Key | Name | Type | Description |
---|---|---|---|
dem.identity.pk | fk_identity | UNIQUE | |
pk | PRIMARY KEY |
Table clin.patient Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_patient_sane_edc | CHECK (((edc IS NULL) OR ((clin.get_dod(fk_identity) IS NULL) AND ((clin.get_dob(fk_identity) IS NULL) OR (edc > (clin.get_dob(fk_identity) + '5 years'::interval)))))) |
Tables referencing this one via Foreign Key Constraints:
This table holds procedure/operations performed on the patient both in hospital or in community care.
F-Key | Name | Type | Description |
---|---|---|---|
clin.encounter.pk | fk_encounter | ||
clin.episode.pk | fk_episode | ||
blobs.doc_med.pk | fk_doc | ||
dem.org_unit.pk | fk_org_unit | ||
pk | PRIMARY KEY | ||
clin.hospital_stay.pk | fk_hospital_stay |
Table clin.procedure Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_procedure_lnk_org_or_stay | CHECK ((((fk_hospital_stay IS NULL) AND (fk_org_unit IS NOT NULL)) OR ((fk_hospital_stay IS NOT NULL) AND (fk_org_unit IS NULL)))) |
clin_procedure_sane_comment | CHECK ((gm.is_null_or_non_empty_string(comment) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
procedure_sane_end | CHECK (((clin_end IS NULL) OR (clin_end >= clin_when))) |
sane_procedure | CHECK ((gm.is_null_or_blank_string(narrative) IS FALSE)) |
sane_soap_cat | CHECK ((soap_cat = ANY (ARRAY['a'::text, 'p'::text]))) |
Tables referencing this one via Foreign Key Constraints:
idx_clin_procedure_fk_encounter fk_encounter idx_clin_procedure_fk_episode fk_episodethis table tracks whether a particular clinical item was reviewed by a clinician or not
F-Key | Name | Type | Description |
---|---|---|---|
fk_reviewed_row | UNIQUE#1 | ||
dem.staff.pk | fk_reviewer | UNIQUE#1 | |
pk | PRIMARY KEY |
Table clin.review_root Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
review table for test results
F-Key | Name | Type | Description |
---|---|---|---|
clin.test_result.pk | fk_reviewed_row | UNIQUE#1 UNIQUE | |
dem.staff.pk | fk_reviewer | UNIQUE#1 | |
pk | PRIMARY KEY |
Table clin.reviewed_test_results Inherits review_root,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY |
Name | Constraint |
---|---|
clin_soap_cat_ranks_sane_cats | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::bpchar, 'o'::bpchar, 'a'::bpchar, 'p'::bpchar, 'u'::bpchar])))) |
clin_soap_cat_ranks_sane_ranks | CHECK ((rank = ANY (ARRAY[1, 2, 3, 4, 5, 6]))) |
The substances a patient is actually currently taking.
F-Key | Name | Type | Description |
---|---|---|---|
clin.episode.pk | fk_episode | ||
clin.encounter.pk | fk_encounter | ||
ref.lnk_dose2drug.pk | fk_drug_component | ||
pk | PRIMARY KEY |
Table clin.substance_intake Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_patient_sane_use_type | CHECK (((harmful_use_type IS NULL) OR ((harmful_use_type >= 0) AND (harmful_use_type <= 3)))) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
clin_substance_intake_sane_start_comment | CHECK (gm.is_null_or_non_empty_string(comment_on_start)) |
discontinued_after_started | CHECK (((harmful_use_type IS NOT NULL) OR (clin_when IS NULL) OR (discontinued IS NULL) OR ((discontinued >= clin_when) AND (discontinued <= now())))) |
medication_is_plan | CHECK ((soap_cat = 'p'::text)) |
sane_aim | CHECK ((gm.is_null_or_non_empty_string(aim) IS TRUE)) |
sane_discontinue_reason | CHECK ((((discontinued IS NULL) AND (discontinue_reason IS NULL)) OR ((discontinued IS NOT NULL) AND (gm.is_null_or_non_empty_string(discontinue_reason) IS TRUE)))) |
sane_schedule | CHECK ((gm.is_null_or_non_empty_string(schedule) IS TRUE)) |
Tables referencing this one via Foreign Key Constraints:
idx_c_subst_int_fk_drug_comp fk_drug_component idx_clin_substance_intake_fk_encounter fk_encounter idx_clin_substance_intake_fk_episode fk_episodeA table to hold hints suppressed per patient
F-Key | Name | Type | Description |
---|---|---|---|
ref.auto_hint.pk | fk_hint | ||
pk | PRIMARY KEY | ||
clin.encounter.pk | fk_encounter |
Table clin.suppressed_hint Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_suppressed_hint_sane_by | CHECK ((length((suppressed_by)::text) > 0)) |
clin_suppressed_hint_sane_md5 | CHECK ((gm.is_null_or_blank_string(md5_sum) IS FALSE)) |
clin_suppressed_hint_sane_rationale | CHECK ((gm.is_null_or_blank_string(rationale) IS FALSE)) |
organisation providing results
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY | ||
dem.org_unit.pk | fk_org_unit | UNIQUE | |
dem.identity.pk | fk_adm_contact | ||
dem.identity.pk | fk_med_contact |
Table clin.test_org Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
sane_comment | CHECK ((gm.is_null_or_non_empty_string(comment) IS TRUE)) |
sane_contact | CHECK ((gm.is_null_or_non_empty_string(contact) IS TRUE)) |
Tables referencing this one via Foreign Key Constraints:
Panels of tests. The same test can appear in several panels.
F-Key | Name | Type | Description |
---|---|---|---|
pk | PRIMARY KEY |
Table clin.test_panel Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_test_panel_sane_cmt | CHECK ((gm.is_null_or_non_empty_string(comment) IS TRUE)) |
clin_test_panel_sane_desc | CHECK ((gm.is_null_or_blank_string(description) IS FALSE)) |
Tables referencing this one via Foreign Key Constraints:
the results of a single measurement
F-Key | Name | Type | Description |
---|---|---|---|
dem.staff.pk | fk_intended_reviewer | ||
clin.lab_request.pk | fk_request | ||
clin.test_type.pk | fk_type | ||
clin.encounter.pk | fk_encounter | ||
clin.episode.pk | fk_episode | ||
pk | PRIMARY KEY |
Table clin.test_result Inherits clin_root_item,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
clin_root_item_sane_soap_cat | CHECK (((soap_cat IS NULL) OR (soap_cat = ANY (ARRAY['s'::text, 'o'::text, 'a'::text, 'p'::text, 'u'::text])))) |
clin_test_result_sane_source_data | CHECK (gm.is_null_or_non_empty_string(source_data)) |
clin_test_result_sane_status | CHECK (gm.is_null_or_non_empty_string(status)) |
clin_test_result_sane_val_grouping | CHECK (gm.is_null_or_non_empty_string(val_grouping)) |
numval_needs_unit | CHECK ((((val_num IS NOT NULL) AND (btrim(COALESCE(val_unit, ''::text)) <> ''::text)) OR (val_num IS NULL))) |
test_result_check | CHECK (((val_num IS NOT NULL) OR (val_alpha IS NOT NULL) OR ((val_num IS NULL) AND (val_alpha <> ''::text) AND (val_alpha IS NOT NULL)))) |
Tables referencing this one via Foreign Key Constraints:
idx_clin_test_result_fk_encounter fk_encounter idx_clin_test_result_fk_episode fk_episode idx_test_result_fk_type fk_type idx_test_result_status status idx_test_result_unit val_unitmeasurement type, like a "method" in a lab
F-Key | Name | Type | Description |
---|---|---|---|
clin.meta_test_type.pk | fk_meta_test_type | ||
pk | PRIMARY KEY | ||
name | UNIQUE#2 | ||
clin.test_org.pk | fk_test_org | UNIQUE#1 UNIQUE#2 | |
abbrev | UNIQUE#1 |
Table clin.test_type Inherits audit_fields,
Name | Constraint |
---|---|
audit_audit_fields_sane_modified_when | CHECK (((modified_when <= clock_timestamp()) IS TRUE)) |
Tables referencing this one via Foreign Key Constraints:
idx_test_type_fk_meta_test_type fk_meta_test_type idx_test_type_fk_test_org fk_test_org idx_test_type_loinc loinc) WHERE (loinc IS NOT NULLCandidates for diagnoses.
F-Key | Name | Type | Description |
---|
SELECT ( SELECT c_enc.fk_patient FROM clin.encounter c_enc WHERE (c_enc.pk = c_hi.fk_encounter) ) AS pk_patient , (c_hi.description || COALESCE ( ( ( ' ('::text || (c_hi.laterality)::text ) || ')'::text ) ,''::text ) ) AS diagnosis , c_hi.is_confidential AS explicitely_confidential , c_hi.diagnostic_certainty_classification , 'clin.health_issue'::text AS source FROM clin.health_issue c_hi UNION ALL SELECT ( SELECT c_enc.fk_patient FROM clin.encounter c_enc WHERE (c_enc.pk = c_epi.fk_encounter) ) AS pk_patient , c_epi.description AS diagnosis , COALESCE ( ( SELECT c_hi.is_confidential FROM clin.health_issue c_hi WHERE (c_hi.pk = c_epi.fk_health_issue) ) , false ) AS explicitely_confidential , c_epi.diagnostic_certainty_classification , 'clin.episode'::text AS source FROM clin.episode c_epi WHERE (c_epi.is_open IS TRUE) UNION ALL SELECT c_enc.fk_patient AS pk_patient , c_enc.assessment_of_encounter AS diagnosis , false AS explicitely_confidential , NULL::text AS diagnostic_certainty_classification , 'clin.encounter'::text AS source FROM clin.encounter c_enc WHERE ( (c_enc.assessment_of_encounter IS NOT NULL) AND (c_enc.pk IN ( SELECT c_cri.fk_encounter FROM clin.clin_root_item c_cri WHERE (c_cri.fk_episode IN ( SELECT c_epi.pk FROM clin.episode c_epi WHERE (c_epi.is_open IS TRUE) ) ) ) ) ) UNION ALL SELECT ( SELECT c_enc.fk_patient FROM clin.encounter c_enc WHERE (c_enc.pk = c_cn.fk_encounter) ) AS pk_patient , c_cn.narrative AS diagnosis , false AS explicitely_confidential , NULL::text AS diagnostic_certainty_classification , 'clin.clin_narrative'::text AS source FROM clin.clin_narrative c_cn WHERE ( (c_cn.soap_cat = 'a'::text) AND (c_cn.fk_episode IN ( SELECT c_epi.pk FROM clin.episode c_epi WHERE (c_epi.is_open IS TRUE) ) ) );
F-Key | Name | Type | Description |
---|
SELECT c_p.fk_identity AS pk_patient , c_p.modified_when , c_p.modified_when AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_p.modified_by) ) , ( ('<'::text || (c_p.modified_by)::text ) || '>'::text ) ) AS modified_by , 's'::text AS soap_cat , (_ ('EDC'::text) || to_char ( (c_p.edc)::timestamp with time zone ,': YYYY Mon DD'::text ) ) AS narrative , ( SELECT c_e.pk FROM clin.encounter c_e WHERE (c_e.fk_patient = c_p.fk_identity) ORDER BY c_e.started DESC LIMIT 1 ) AS pk_encounter , NULL::integer AS pk_episode , NULL::integer AS pk_health_issue , c_p.pk AS src_pk , 'clin.patient'::text AS src_table , c_p.row_version , NULL::text AS health_issue , NULL::text AS issue_laterality , NULL::boolean AS issue_active , NULL::boolean AS issue_clinically_relevant , NULL::boolean AS issue_confidential , NULL::text AS episode , NULL::boolean AS episode_open , NULL::timestamp with time zone AS encounter_started , NULL::timestamp with time zone AS encounter_last_affirmed , NULL::text AS encounter_type , NULL::text AS encounter_l10n_type FROM clin.patient c_p WHERE (c_p.edc IS NOT NULL);
Clinical patient data formatted into one string per clinical entity even if it constains several user- visible fields. Mainly useful for display as a simple EMR journal.
F-Key | Name | Type | Description |
---|
SELECT v_pat_narrative_journal.pk_patient , v_pat_narrative_journal.modified_when , v_pat_narrative_journal.clin_when , v_pat_narrative_journal.modified_by , v_pat_narrative_journal.soap_cat , v_pat_narrative_journal.narrative , v_pat_narrative_journal.pk_encounter , v_pat_narrative_journal.pk_episode , v_pat_narrative_journal.pk_health_issue , v_pat_narrative_journal.src_pk , v_pat_narrative_journal.src_table , v_pat_narrative_journal.row_version , v_pat_narrative_journal.health_issue , v_pat_narrative_journal.issue_laterality , v_pat_narrative_journal.issue_active , v_pat_narrative_journal.issue_clinically_relevant , v_pat_narrative_journal.issue_confidential , v_pat_narrative_journal.episode , v_pat_narrative_journal.episode_open , v_pat_narrative_journal.encounter_started , v_pat_narrative_journal.encounter_last_affirmed , v_pat_narrative_journal.encounter_type , v_pat_narrative_journal.encounter_l10n_type FROM clin.v_pat_narrative_journal UNION ALL SELECT v_health_issues_journal.pk_patient , v_health_issues_journal.modified_when , v_health_issues_journal.clin_when , v_health_issues_journal.modified_by , v_health_issues_journal.soap_cat , v_health_issues_journal.narrative , v_health_issues_journal.pk_encounter , v_health_issues_journal.pk_episode , v_health_issues_journal.pk_health_issue , v_health_issues_journal.src_pk , v_health_issues_journal.src_table , v_health_issues_journal.row_version , v_health_issues_journal.health_issue , v_health_issues_journal.issue_laterality , v_health_issues_journal.issue_active , v_health_issues_journal.issue_clinically_relevant , v_health_issues_journal.issue_confidential , v_health_issues_journal.episode , v_health_issues_journal.episode_open , v_health_issues_journal.encounter_started , v_health_issues_journal.encounter_last_affirmed , v_health_issues_journal.encounter_type , v_health_issues_journal.encounter_l10n_type FROM clin.v_health_issues_journal UNION ALL SELECT v_pat_encounters_journal.pk_patient , v_pat_encounters_journal.modified_when , v_pat_encounters_journal.clin_when , v_pat_encounters_journal.modified_by , v_pat_encounters_journal.soap_cat , v_pat_encounters_journal.narrative , v_pat_encounters_journal.pk_encounter , v_pat_encounters_journal.pk_episode , v_pat_encounters_journal.pk_health_issue , v_pat_encounters_journal.src_pk , v_pat_encounters_journal.src_table , v_pat_encounters_journal.row_version , v_pat_encounters_journal.health_issue , v_pat_encounters_journal.issue_laterality , v_pat_encounters_journal.issue_active , v_pat_encounters_journal.issue_clinically_relevant , v_pat_encounters_journal.issue_confidential , v_pat_encounters_journal.episode , v_pat_encounters_journal.episode_open , v_pat_encounters_journal.encounter_started , v_pat_encounters_journal.encounter_last_affirmed , v_pat_encounters_journal.encounter_type , v_pat_encounters_journal.encounter_l10n_type FROM clin.v_pat_encounters_journal UNION ALL SELECT v_pat_episodes_journal.pk_patient , v_pat_episodes_journal.modified_when , v_pat_episodes_journal.clin_when , v_pat_episodes_journal.modified_by , v_pat_episodes_journal.soap_cat , v_pat_episodes_journal.narrative , v_pat_episodes_journal.pk_encounter , v_pat_episodes_journal.pk_episode , v_pat_episodes_journal.pk_health_issue , v_pat_episodes_journal.src_pk , v_pat_episodes_journal.src_table , v_pat_episodes_journal.row_version , v_pat_episodes_journal.health_issue , v_pat_episodes_journal.issue_laterality , v_pat_episodes_journal.issue_active , v_pat_episodes_journal.issue_clinically_relevant , v_pat_episodes_journal.issue_confidential , v_pat_episodes_journal.episode , v_pat_episodes_journal.episode_open , v_pat_episodes_journal.encounter_started , v_pat_episodes_journal.encounter_last_affirmed , v_pat_episodes_journal.encounter_type , v_pat_episodes_journal.encounter_l10n_type FROM clin.v_pat_episodes_journal UNION ALL SELECT v_family_history_journal.pk_patient , v_family_history_journal.modified_when , v_family_history_journal.clin_when , v_family_history_journal.modified_by , v_family_history_journal.soap_cat , v_family_history_journal.narrative , v_family_history_journal.pk_encounter , v_family_history_journal.pk_episode , v_family_history_journal.pk_health_issue , v_family_history_journal.src_pk , v_family_history_journal.src_table , v_family_history_journal.row_version , v_family_history_journal.health_issue , v_family_history_journal.issue_laterality , v_family_history_journal.issue_active , v_family_history_journal.issue_clinically_relevant , v_family_history_journal.issue_confidential , v_family_history_journal.episode , v_family_history_journal.episode_open , v_family_history_journal.encounter_started , v_family_history_journal.encounter_last_affirmed , v_family_history_journal.encounter_type , v_family_history_journal.encounter_l10n_type FROM clin.v_family_history_journal UNION ALL SELECT v_pat_allergies_journal.pk_patient , v_pat_allergies_journal.modified_when , v_pat_allergies_journal.clin_when , v_pat_allergies_journal.modified_by , v_pat_allergies_journal.soap_cat , v_pat_allergies_journal.narrative , v_pat_allergies_journal.pk_encounter , v_pat_allergies_journal.pk_episode , v_pat_allergies_journal.pk_health_issue , v_pat_allergies_journal.src_pk , v_pat_allergies_journal.src_table , v_pat_allergies_journal.row_version , v_pat_allergies_journal.health_issue , v_pat_allergies_journal.issue_laterality , v_pat_allergies_journal.issue_active , v_pat_allergies_journal.issue_clinically_relevant , v_pat_allergies_journal.issue_confidential , v_pat_allergies_journal.episode , v_pat_allergies_journal.episode_open , v_pat_allergies_journal.encounter_started , v_pat_allergies_journal.encounter_last_affirmed , v_pat_allergies_journal.encounter_type , v_pat_allergies_journal.encounter_l10n_type FROM clin.v_pat_allergies_journal UNION ALL SELECT v_pat_allergy_state_journal.pk_patient , v_pat_allergy_state_journal.modified_when , v_pat_allergy_state_journal.clin_when , v_pat_allergy_state_journal.modified_by , v_pat_allergy_state_journal.soap_cat , v_pat_allergy_state_journal.narrative , v_pat_allergy_state_journal.pk_encounter , v_pat_allergy_state_journal.pk_episode , v_pat_allergy_state_journal.pk_health_issue , v_pat_allergy_state_journal.src_pk , v_pat_allergy_state_journal.src_table , v_pat_allergy_state_journal.row_version , v_pat_allergy_state_journal.health_issue , v_pat_allergy_state_journal.issue_laterality , v_pat_allergy_state_journal.issue_active , v_pat_allergy_state_journal.issue_clinically_relevant , v_pat_allergy_state_journal.issue_confidential , v_pat_allergy_state_journal.episode , v_pat_allergy_state_journal.episode_open , v_pat_allergy_state_journal.encounter_started , v_pat_allergy_state_journal.encounter_last_affirmed , v_pat_allergy_state_journal.encounter_type , v_pat_allergy_state_journal.encounter_l10n_type FROM clin.v_pat_allergy_state_journal UNION ALL SELECT v_test_results_journal.pk_patient , v_test_results_journal.modified_when , v_test_results_journal.clin_when , v_test_results_journal.modified_by , v_test_results_journal.soap_cat , v_test_results_journal.narrative , v_test_results_journal.pk_encounter , v_test_results_journal.pk_episode , v_test_results_journal.pk_health_issue , v_test_results_journal.src_pk , v_test_results_journal.src_table , v_test_results_journal.row_version , v_test_results_journal.health_issue , v_test_results_journal.issue_laterality , v_test_results_journal.issue_active , v_test_results_journal.issue_clinically_relevant , v_test_results_journal.issue_confidential , v_test_results_journal.episode , v_test_results_journal.episode_open , v_test_results_journal.encounter_started , v_test_results_journal.encounter_last_affirmed , v_test_results_journal.encounter_type , v_test_results_journal.encounter_l10n_type FROM clin.v_test_results_journal UNION ALL SELECT v_hospital_stays_journal.pk_patient , v_hospital_stays_journal.modified_when , v_hospital_stays_journal.clin_when , v_hospital_stays_journal.modified_by , v_hospital_stays_journal.soap_cat , v_hospital_stays_journal.narrative , v_hospital_stays_journal.pk_encounter , v_hospital_stays_journal.pk_episode , v_hospital_stays_journal.pk_health_issue , v_hospital_stays_journal.src_pk , v_hospital_stays_journal.src_table , v_hospital_stays_journal.row_version , v_hospital_stays_journal.health_issue , v_hospital_stays_journal.issue_laterality , v_hospital_stays_journal.issue_active , v_hospital_stays_journal.issue_clinically_relevant , v_hospital_stays_journal.issue_confidential , v_hospital_stays_journal.episode , v_hospital_stays_journal.episode_open , v_hospital_stays_journal.encounter_started , v_hospital_stays_journal.encounter_last_affirmed , v_hospital_stays_journal.encounter_type , v_hospital_stays_journal.encounter_l10n_type FROM clin.v_hospital_stays_journal UNION ALL SELECT v_doc_med_journal.pk_patient , v_doc_med_journal.modified_when , v_doc_med_journal.clin_when , v_doc_med_journal.modified_by , v_doc_med_journal.soap_cat , v_doc_med_journal.narrative , v_doc_med_journal.pk_encounter , v_doc_med_journal.pk_episode , v_doc_med_journal.pk_health_issue , v_doc_med_journal.src_pk , v_doc_med_journal.src_table , v_doc_med_journal.row_version , v_doc_med_journal.health_issue , v_doc_med_journal.issue_laterality , v_doc_med_journal.issue_active , v_doc_med_journal.issue_clinically_relevant , v_doc_med_journal.issue_confidential , v_doc_med_journal.episode , v_doc_med_journal.episode_open , v_doc_med_journal.encounter_started , v_doc_med_journal.encounter_last_affirmed , v_doc_med_journal.encounter_type , v_doc_med_journal.encounter_l10n_type FROM blobs.v_doc_med_journal UNION ALL SELECT v_substance_intake_journal.pk_patient , v_substance_intake_journal.modified_when , v_substance_intake_journal.clin_when , v_substance_intake_journal.modified_by , v_substance_intake_journal.soap_cat , v_substance_intake_journal.narrative , v_substance_intake_journal.pk_encounter , v_substance_intake_journal.pk_episode , v_substance_intake_journal.pk_health_issue , v_substance_intake_journal.src_pk , v_substance_intake_journal.src_table , v_substance_intake_journal.row_version , v_substance_intake_journal.health_issue , v_substance_intake_journal.issue_laterality , v_substance_intake_journal.issue_active , v_substance_intake_journal.issue_clinically_relevant , v_substance_intake_journal.issue_confidential , v_substance_intake_journal.episode , v_substance_intake_journal.episode_open , v_substance_intake_journal.encounter_started , v_substance_intake_journal.encounter_last_affirmed , v_substance_intake_journal.encounter_type , v_substance_intake_journal.encounter_l10n_type FROM clin.v_substance_intake_journal UNION ALL SELECT v_procedures_journal.pk_patient , v_procedures_journal.modified_when , v_procedures_journal.clin_when , v_procedures_journal.modified_by , v_procedures_journal.soap_cat , v_procedures_journal.narrative , v_procedures_journal.pk_encounter , v_procedures_journal.pk_episode , v_procedures_journal.pk_health_issue , v_procedures_journal.src_pk , v_procedures_journal.src_table , v_procedures_journal.row_version , v_procedures_journal.health_issue , v_procedures_journal.issue_laterality , v_procedures_journal.issue_active , v_procedures_journal.issue_clinically_relevant , v_procedures_journal.issue_confidential , v_procedures_journal.episode , v_procedures_journal.episode_open , v_procedures_journal.encounter_started , v_procedures_journal.encounter_last_affirmed , v_procedures_journal.encounter_type , v_procedures_journal.encounter_l10n_type FROM clin.v_procedures_journal UNION ALL SELECT v_vaccinations_journal.pk_patient , v_vaccinations_journal.modified_when , v_vaccinations_journal.clin_when , v_vaccinations_journal.modified_by , v_vaccinations_journal.soap_cat , v_vaccinations_journal.narrative , v_vaccinations_journal.pk_encounter , v_vaccinations_journal.pk_episode , v_vaccinations_journal.pk_health_issue , v_vaccinations_journal.src_pk , v_vaccinations_journal.src_table , v_vaccinations_journal.row_version , v_vaccinations_journal.health_issue , v_vaccinations_journal.issue_laterality , v_vaccinations_journal.issue_active , v_vaccinations_journal.issue_clinically_relevant , v_vaccinations_journal.issue_confidential , v_vaccinations_journal.episode , v_vaccinations_journal.episode_open , v_vaccinations_journal.encounter_started , v_vaccinations_journal.encounter_last_affirmed , v_vaccinations_journal.encounter_type , v_vaccinations_journal.encounter_l10n_type FROM clin.v_vaccinations_journal UNION ALL SELECT v_suppressed_hints_journal.pk_patient , v_suppressed_hints_journal.modified_when , v_suppressed_hints_journal.clin_when , v_suppressed_hints_journal.modified_by , v_suppressed_hints_journal.soap_cat , v_suppressed_hints_journal.narrative , v_suppressed_hints_journal.fk_encounter AS pk_encounter , v_suppressed_hints_journal.pk_episode , v_suppressed_hints_journal.pk_health_issue , v_suppressed_hints_journal.src_pk , v_suppressed_hints_journal.src_table , v_suppressed_hints_journal.row_version , v_suppressed_hints_journal.health_issue , v_suppressed_hints_journal.issue_laterality , v_suppressed_hints_journal.issue_active , v_suppressed_hints_journal.issue_clinically_relevant , v_suppressed_hints_journal.issue_confidential , v_suppressed_hints_journal.episode , v_suppressed_hints_journal.episode_open , v_suppressed_hints_journal.encounter_started , v_suppressed_hints_journal.encounter_last_affirmed , v_suppressed_hints_journal.encounter_type , v_suppressed_hints_journal.encounter_l10n_type FROM clin.v_suppressed_hints_journal UNION ALL SELECT v_external_care_journal.pk_patient , v_external_care_journal.modified_when , v_external_care_journal.clin_when , v_external_care_journal.modified_by , v_external_care_journal.soap_cat , v_external_care_journal.narrative , v_external_care_journal.pk_encounter , v_external_care_journal.pk_episode , v_external_care_journal.pk_health_issue , v_external_care_journal.src_pk , v_external_care_journal.src_table , v_external_care_journal.row_version , v_external_care_journal.health_issue , v_external_care_journal.issue_laterality , v_external_care_journal.issue_active , v_external_care_journal.issue_clinically_relevant , v_external_care_journal.issue_confidential , v_external_care_journal.episode , v_external_care_journal.episode_open , v_external_care_journal.encounter_started , v_external_care_journal.encounter_last_affirmed , v_external_care_journal.encounter_type , v_external_care_journal.encounter_l10n_type FROM clin.v_external_care_journal UNION ALL SELECT v_edc_journal.pk_patient , v_edc_journal.modified_when , v_edc_journal.clin_when , v_edc_journal.modified_by , v_edc_journal.soap_cat , v_edc_journal.narrative , v_edc_journal.pk_encounter , v_edc_journal.pk_episode , v_edc_journal.pk_health_issue , v_edc_journal.src_pk , v_edc_journal.src_table , v_edc_journal.row_version , v_edc_journal.health_issue , v_edc_journal.issue_laterality , v_edc_journal.issue_active , v_edc_journal.issue_clinically_relevant , v_edc_journal.issue_confidential , v_edc_journal.episode , v_edc_journal.episode_open , v_edc_journal.encounter_started , v_edc_journal.encounter_last_affirmed , v_edc_journal.encounter_type , v_edc_journal.encounter_l10n_type FROM clin.v_edc_journal UNION ALL SELECT v_reminders_journal.pk_patient , v_reminders_journal.modified_when , v_reminders_journal.clin_when , v_reminders_journal.modified_by , v_reminders_journal.soap_cat , v_reminders_journal.narrative , v_reminders_journal.pk_encounter , v_reminders_journal.pk_episode , v_reminders_journal.pk_health_issue , v_reminders_journal.src_pk , v_reminders_journal.src_table , v_reminders_journal.row_version , v_reminders_journal.health_issue , v_reminders_journal.issue_laterality , v_reminders_journal.issue_active , v_reminders_journal.issue_clinically_relevant , v_reminders_journal.issue_confidential , v_reminders_journal.episode , v_reminders_journal.episode_open , v_reminders_journal.encounter_started , v_reminders_journal.encounter_last_affirmed , v_reminders_journal.encounter_type , v_reminders_journal.encounter_l10n_type FROM clin.v_reminders_journal;
F-Key | Name | Type | Description |
---|
SELECT inner_export_items.pk_export_item , inner_export_items.pk_identity , inner_export_items.created_by , inner_export_items.created_when , inner_export_items.designation , inner_export_items.description , inner_export_items.pk_doc_obj , inner_export_items.md5_sum , inner_export_items.size , inner_export_items.filename , inner_export_items.pk_identity_raw , inner_export_items.xmin_export_item , (inner_export_items.pk_identity IS DISTINCT FROM inner_export_items.pk_identity_raw ) AS pk_identity_raw_needs_update , d_vp.title , d_vp.firstnames , d_vp.lastnames , d_vp.preferred , d_vp.gender , d_vp.dob FROM ( ( SELECT c_ei.pk AS pk_export_item , CASE WHEN (c_ei.fk_doc_obj IS NULL) THEN c_ei.fk_identity ELSE ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = ( SELECT doc_med.fk_encounter FROM blobs.doc_med WHERE (doc_med.pk = ( SELECT doc_obj.fk_doc FROM blobs.doc_obj WHERE (doc_obj.pk = c_ei.fk_doc_obj) ) ) ) ) ) END AS pk_identity , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_ei.created_by) ) , (c_ei.created_by)::text ) AS created_by , c_ei.created_when , c_ei.designation , c_ei.description , c_ei.fk_doc_obj AS pk_doc_obj , md5 (COALESCE (c_ei.data , COALESCE ( ( SELECT b_do.data FROM blobs.doc_obj b_do WHERE (b_do.pk = c_ei.fk_doc_obj) ) ,'\x'::bytea ) ) ) AS md5_sum , octet_length (COALESCE (c_ei.data ,'\x'::bytea ) ) AS size , COALESCE (c_ei.filename , ( SELECT b_do.filename FROM blobs.doc_obj b_do WHERE (b_do.pk = c_ei.fk_doc_obj) ) ) AS filename , c_ei.fk_identity AS pk_identity_raw , c_ei.xmin AS xmin_export_item FROM clin.export_item c_ei ) inner_export_items JOIN dem.v_all_persons d_vp ON ( (d_vp.pk_identity = inner_export_items.pk_identity) ) );
F-Key | Name | Type | Description |
---|
SELECT c_ec.pk AS pk_external_care , ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = c_ec.fk_encounter) ) AS pk_identity , COALESCE (c_ec.issue , c_hi.description ) AS issue , c_ec.provider , d_ou.description AS unit , d_o.description AS organization , c_ec.comment , c_ec.inactive , c_ec.fk_health_issue AS pk_health_issue , c_ec.fk_org_unit AS pk_org_unit , c_ec.fk_encounter AS pk_encounter , c_ec.xmin AS xmin_external_care , c_ec.modified_when , c_ec.modified_by , c_ec.row_version FROM ( ( (clin.external_care c_ec LEFT JOIN clin.health_issue c_hi ON ( (c_hi.pk = c_ec.fk_health_issue) ) ) LEFT JOIN dem.org_unit d_ou ON ( (c_ec.fk_org_unit = d_ou.pk) ) ) LEFT JOIN dem.org d_o ON ( (d_ou.fk_org = d_o.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_ec.modified_when , c_ec.modified_when AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_ec.modified_by) ) , ( ('<'::text || (c_ec.modified_by)::text ) || '>'::text ) ) AS modified_by , 's'::text AS soap_cat , ( ( ( ( ( ( ( ( ( ( ( ( ( (_ ('External care'::text) || CASE WHEN c_ec.inactive THEN ( ( ' ('::text || _ ('inactive'::text) ) || ')'::text ) ELSE ''::text END ) || COALESCE ( ( ( (' '::text || _ ('by'::text) ) || ' '::text ) || c_ec.provider ) ,''::text ) ) || ' @ '::text ) || d_ou.description ) || ' '::text ) || _ ('of'::text) ) || ' '::text ) || d_o.description ) || ' '::text ) || _ ('Issue:'::text) ) || ' '::text ) || COALESCE (c_hi.description , c_ec.issue ) ) || ' '::text ) || COALESCE ( ( (_ ('Comment:'::text) || ' '::text ) || c_ec.comment ) ,''::text ) ) AS narrative , c_ec.fk_encounter AS pk_encounter , NULL::integer AS pk_episode , c_ec.fk_health_issue AS pk_health_issue , c_ec.pk AS src_pk , 'clin.external_care'::text AS src_table , c_ec.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , NULL::text AS episode , NULL::boolean AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( ( (clin.external_care c_ec JOIN clin.encounter c_enc ON ( (c_ec.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_ec.fk_health_issue = c_hi.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (c_ec.fk_org_unit = d_ou.pk) ) ) LEFT JOIN dem.org d_o ON ( (d_ou.fk_org = d_o.pk) ) );
family history denormalized
F-Key | Name | Type | Description |
---|
SELECT c_fh.pk AS pk_family_history , cenc.fk_patient AS pk_patient , c_fh.soap_cat , c_fhrt.description AS relation , _ (c_fhrt.description) AS l10n_relation , c_fh.narrative AS condition , c_fh.age_noted , c_fh.age_of_death , c_fh.contributed_to_death , c_fh.comment , cep.description AS episode , c_fh.clin_when AS when_known_to_patient , c_fh.name_relative , c_fh.dob_relative , c_fhrt.is_genetic AS is_genetic_relative , c_fh.fk_encounter AS pk_encounter , c_fh.fk_episode AS pk_episode , cep.fk_health_issue AS pk_health_issue , c_fhrt.pk AS pk_fhx_relation_type , c_fh.modified_when , COALESCE ( ( SELECT array_agg (c_lc2fhx.fk_generic_code) AS array_agg FROM clin.lnk_code2fhx c_lc2fhx WHERE (c_lc2fhx.fk_item = c_fh.pk) ) , ARRAY[]::integer[] ) AS pk_generic_codes , c_fh.xmin AS xmin_family_history FROM ( ( (clin.family_history c_fh JOIN clin.encounter cenc ON ( (c_fh.fk_encounter = cenc.pk) ) ) JOIN clin.episode cep ON ( (c_fh.fk_episode = cep.pk) ) ) LEFT JOIN clin.fhx_relation_type c_fhrt ON ( (c_fh.fk_relation_type = c_fhrt.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_fh.modified_when , c_fh.clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_fh.modified_by) ) , ( ('<'::text || (c_fh.modified_by)::text ) || '>'::text ) ) AS modified_by , c_fh.soap_cat , ( ( ( ( ( ( ( ( ( ( ( (_ (c_fhrt.description) || COALESCE ( (' @ '::text || c_fh.age_noted) ,''::text ) ) || ': '::text ) || c_fh.narrative ) || ' '::text ) || ' '::text ) || CASE WHEN (c_fh.contributed_to_death IS TRUE) THEN (_ ('contributed to death'::text) || ' '::text ) ELSE ''::text END ) || COALESCE ( ('@ '::text || (justify_interval (c_fh.age_of_death) )::text ) ,''::text ) ) || ' '::text ) || COALESCE ( ( (' '::text || c_fh.name_relative) || ','::text ) ,''::text ) ) || COALESCE ( (' '::text || to_char (c_fh.dob_relative ,'YYYY-MM-DD'::text ) ) ,''::text ) ) || COALESCE ( (' '::text || c_fh.comment) ,''::text ) ) || COALESCE ( ( ('; '::text || array_to_string ( ( SELECT array_agg ( ( ( ( ( ( ( ( (r_csr.code || ' ('::text) || r_ds.name_short ) || ' - '::text ) || r_ds.version ) || ' - '::text ) || r_ds.lang ) || '): '::text ) || r_csr.term ) ) AS array_agg FROM ( (clin.lnk_code2fhx c_lc2fhx JOIN ref.coding_system_root r_csr ON ( (c_lc2fhx.fk_generic_code = r_csr.pk_coding_system) ) ) JOIN ref.data_source r_ds ON ( (r_ds.pk = r_csr.fk_data_source) ) ) WHERE (c_lc2fhx.fk_item = c_fh.pk) ) ,'; '::text ) ) || ';'::text ) ,''::text ) ) AS narrative , c_fh.fk_encounter AS pk_encounter , c_fh.fk_episode AS pk_episode , c_epi.fk_health_issue AS pk_health_issue , c_fh.pk AS src_pk , 'clin.family_history'::text AS src_table , c_fh.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( ( (clin.family_history c_fh JOIN clin.encounter c_enc ON ( (c_fh.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN clin.episode c_epi ON ( (c_fh.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.fhx_relation_type c_fhrt ON ( (c_fh.fk_relation_type = c_fhrt.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = c_hi.fk_encounter) ) AS pk_patient , c_hi.pk AS pk_health_issue , c_hi.description , c_hi.summary , c_hi.laterality , c_hi.age_noted , c_hi.is_active , c_hi.clinically_relevant , c_hi.is_confidential , c_hi.is_cause_of_death , c_hi.fk_encounter AS pk_encounter , c_hi.modified_when , c_hi.modified_by , c_hi.row_version , c_hi."grouping" , c_hi.diagnostic_certainty_classification , (EXISTS ( SELECT 1 FROM clin.episode c_ep WHERE ( (c_ep.fk_health_issue = c_hi.pk) AND (c_ep.is_open IS TRUE) ) LIMIT 1 ) ) AS has_open_episode , COALESCE ( ( SELECT array_agg (c_lc2h.fk_generic_code) AS array_agg FROM clin.lnk_code2h_issue c_lc2h WHERE (c_lc2h.fk_item = c_hi.pk) ) , ARRAY[]::integer[] ) AS pk_generic_codes , c_hi.xmin AS xmin_health_issue FROM clin.health_issue c_hi;
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_hi.modified_when , COALESCE ( ( SELECT (identity.dob + c_hi.age_noted) FROM dem.identity WHERE (identity.pk = ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = c_hi.fk_encounter) ) ) ) , c_enc.started ) AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_hi.modified_by) ) , ( ('<'::text || (c_hi.modified_by)::text ) || '>'::text ) ) AS modified_by , 'a'::text AS soap_cat , ( ( ( ( ( ( ( ( ( ( ( ( (_ ('Health Issue'::text) || ' ('::text) || CASE WHEN c_hi.is_active THEN _ ('active'::text) ELSE _ ('inactive'::text) END ) || ', '::text ) || CASE WHEN c_hi.clinically_relevant THEN _ ('clinically relevant'::text) ELSE _ ('clinically not relevant'::text) END ) || COALESCE ( ( ', '::text || c_hi.diagnostic_certainty_classification ) ,''::text ) ) || '): '::text ) || c_hi.description ) || COALESCE ( ( ( ( ('; '::text || _ ('noted at age'::text) ) || ': '::text ) || (c_hi.age_noted)::text ) || '; '::text ) ,'; '::text ) ) || COALESCE ( ( ( (_ ('Laterality'::text) || ': '::text ) || (c_hi.laterality)::text ) || ' / '::text ) ,''::text ) ) || CASE WHEN c_hi.is_confidential THEN (_ ('confidential'::text) || ' / '::text ) ELSE ''::text END ) || CASE WHEN c_hi.is_cause_of_death THEN _ ('cause of death'::text) ELSE ''::text END ) || COALESCE ( ( ( ('; '::text || _ ('Summary'::text) ) || ': '::text ) || c_hi.summary ) ,''::text ) ) || COALESCE ( ( ('; '::text || array_to_string ( ( SELECT array_agg ( ( ( ( ( ( ( ( (r_csr.code || ' ('::text) || r_ds.name_short ) || ' - '::text ) || r_ds.version ) || ' - '::text ) || r_ds.lang ) || '): '::text ) || r_csr.term ) ) AS array_agg FROM ( (clin.lnk_code2h_issue c_lc2h JOIN ref.coding_system_root r_csr ON ( (c_lc2h.fk_generic_code = r_csr.pk_coding_system) ) ) JOIN ref.data_source r_ds ON ( (r_ds.pk = r_csr.fk_data_source) ) ) WHERE (c_lc2h.fk_item = c_hi.pk) ) ,'; '::text ) ) || ';'::text ) ,''::text ) ) AS narrative , c_hi.fk_encounter AS pk_encounter , NULL::integer AS pk_episode , c_hi.pk AS pk_health_issue , c_hi.pk AS src_pk , 'clin.health_issue'::text AS src_table , c_hi.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , NULL::text AS episode , NULL::boolean AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( (clin.health_issue c_hi JOIN clin.encounter c_enc ON ( (c_hi.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT c_hs.pk AS pk_hospital_stay , ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = c_hs.fk_encounter) ) AS pk_patient , d_o.description AS hospital , d_ou.description AS ward , c_hs.narrative AS comment , c_hs.clin_when AS admission , c_hs.discharge , c_hs.soap_cat , c_e.description AS episode , c_hi.description AS health_issue , c_hs.fk_encounter AS pk_encounter , c_hs.fk_episode AS pk_episode , c_hi.pk AS pk_health_issue , c_hs.fk_org_unit AS pk_org_unit , d_o.pk AS pk_org , COALESCE ( ( SELECT array_agg (b_dm.pk) AS array_agg FROM blobs.doc_med b_dm WHERE (b_dm.fk_hospital_stay = c_hs.pk) ) , ARRAY[]::integer[] ) AS pk_documents , c_hs.modified_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_hs.modified_by) ) , ( ('<'::text || (c_hs.modified_by)::text ) || '>'::text ) ) AS modified_by , c_hs.row_version , c_hs.xmin AS xmin_hospital_stay FROM ( ( ( (clin.hospital_stay c_hs LEFT JOIN clin.episode c_e ON ( (c_e.pk = c_hs.fk_episode) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_hi.pk = c_e.fk_health_issue) ) ) LEFT JOIN dem.org_unit d_ou ON ( (d_ou.pk = c_hs.fk_org_unit) ) ) LEFT JOIN dem.org d_o ON ( (d_o.pk = d_ou.fk_org) ) );
F-Key | Name | Type | Description |
---|
SELECT v_hospital_stays_journal_no_discharge.pk_patient , v_hospital_stays_journal_no_discharge.modified_when , v_hospital_stays_journal_no_discharge.clin_when , v_hospital_stays_journal_no_discharge.modified_by , v_hospital_stays_journal_no_discharge.soap_cat , v_hospital_stays_journal_no_discharge.narrative , v_hospital_stays_journal_no_discharge.pk_encounter , v_hospital_stays_journal_no_discharge.pk_episode , v_hospital_stays_journal_no_discharge.pk_health_issue , v_hospital_stays_journal_no_discharge.src_pk , v_hospital_stays_journal_no_discharge.src_table , v_hospital_stays_journal_no_discharge.row_version , v_hospital_stays_journal_no_discharge.health_issue , v_hospital_stays_journal_no_discharge.issue_laterality , v_hospital_stays_journal_no_discharge.issue_active , v_hospital_stays_journal_no_discharge.issue_clinically_relevant , v_hospital_stays_journal_no_discharge.issue_confidential , v_hospital_stays_journal_no_discharge.episode , v_hospital_stays_journal_no_discharge.episode_open , v_hospital_stays_journal_no_discharge.encounter_started , v_hospital_stays_journal_no_discharge.encounter_last_affirmed , v_hospital_stays_journal_no_discharge.encounter_type , v_hospital_stays_journal_no_discharge.encounter_l10n_type FROM clin.v_hospital_stays_journal_no_discharge UNION ALL SELECT v_hospital_stays_journal_one_day.pk_patient , v_hospital_stays_journal_one_day.modified_when , v_hospital_stays_journal_one_day.clin_when , v_hospital_stays_journal_one_day.modified_by , v_hospital_stays_journal_one_day.soap_cat , v_hospital_stays_journal_one_day.narrative , v_hospital_stays_journal_one_day.pk_encounter , v_hospital_stays_journal_one_day.pk_episode , v_hospital_stays_journal_one_day.pk_health_issue , v_hospital_stays_journal_one_day.src_pk , v_hospital_stays_journal_one_day.src_table , v_hospital_stays_journal_one_day.row_version , v_hospital_stays_journal_one_day.health_issue , v_hospital_stays_journal_one_day.issue_laterality , v_hospital_stays_journal_one_day.issue_active , v_hospital_stays_journal_one_day.issue_clinically_relevant , v_hospital_stays_journal_one_day.issue_confidential , v_hospital_stays_journal_one_day.episode , v_hospital_stays_journal_one_day.episode_open , v_hospital_stays_journal_one_day.encounter_started , v_hospital_stays_journal_one_day.encounter_last_affirmed , v_hospital_stays_journal_one_day.encounter_type , v_hospital_stays_journal_one_day.encounter_l10n_type FROM clin.v_hospital_stays_journal_one_day UNION ALL SELECT v_hospital_stays_journal_multi_day_adm.pk_patient , v_hospital_stays_journal_multi_day_adm.modified_when , v_hospital_stays_journal_multi_day_adm.clin_when , v_hospital_stays_journal_multi_day_adm.modified_by , v_hospital_stays_journal_multi_day_adm.soap_cat , v_hospital_stays_journal_multi_day_adm.narrative , v_hospital_stays_journal_multi_day_adm.pk_encounter , v_hospital_stays_journal_multi_day_adm.pk_episode , v_hospital_stays_journal_multi_day_adm.pk_health_issue , v_hospital_stays_journal_multi_day_adm.src_pk , v_hospital_stays_journal_multi_day_adm.src_table , v_hospital_stays_journal_multi_day_adm.row_version , v_hospital_stays_journal_multi_day_adm.health_issue , v_hospital_stays_journal_multi_day_adm.issue_laterality , v_hospital_stays_journal_multi_day_adm.issue_active , v_hospital_stays_journal_multi_day_adm.issue_clinically_relevant , v_hospital_stays_journal_multi_day_adm.issue_confidential , v_hospital_stays_journal_multi_day_adm.episode , v_hospital_stays_journal_multi_day_adm.episode_open , v_hospital_stays_journal_multi_day_adm.encounter_started , v_hospital_stays_journal_multi_day_adm.encounter_last_affirmed , v_hospital_stays_journal_multi_day_adm.encounter_type , v_hospital_stays_journal_multi_day_adm.encounter_l10n_type FROM clin.v_hospital_stays_journal_multi_day_adm UNION ALL SELECT v_hospital_stays_journal_multi_day_dis.pk_patient , v_hospital_stays_journal_multi_day_dis.modified_when , v_hospital_stays_journal_multi_day_dis.clin_when , v_hospital_stays_journal_multi_day_dis.modified_by , v_hospital_stays_journal_multi_day_dis.soap_cat , v_hospital_stays_journal_multi_day_dis.narrative , v_hospital_stays_journal_multi_day_dis.pk_encounter , v_hospital_stays_journal_multi_day_dis.pk_episode , v_hospital_stays_journal_multi_day_dis.pk_health_issue , v_hospital_stays_journal_multi_day_dis.src_pk , v_hospital_stays_journal_multi_day_dis.src_table , v_hospital_stays_journal_multi_day_dis.row_version , v_hospital_stays_journal_multi_day_dis.health_issue , v_hospital_stays_journal_multi_day_dis.issue_laterality , v_hospital_stays_journal_multi_day_dis.issue_active , v_hospital_stays_journal_multi_day_dis.issue_clinically_relevant , v_hospital_stays_journal_multi_day_dis.issue_confidential , v_hospital_stays_journal_multi_day_dis.episode , v_hospital_stays_journal_multi_day_dis.episode_open , v_hospital_stays_journal_multi_day_dis.encounter_started , v_hospital_stays_journal_multi_day_dis.encounter_last_affirmed , v_hospital_stays_journal_multi_day_dis.encounter_type , v_hospital_stays_journal_multi_day_dis.encounter_l10n_type FROM clin.v_hospital_stays_journal_multi_day_dis;
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_hs.modified_when , c_hs.clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_hs.modified_by) ) , ( ('<'::text || (c_hs.modified_by)::text ) || '>'::text ) ) AS modified_by , c_hs.soap_cat , ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (_ ('hospital stay'::text) || ' '::text ) || ' '::text ) || _ ('admitted'::text) ) || ': '::text ) || to_char (c_hs.clin_when ,'YYYY-MM-DD'::text ) ) || ' '::text ) || ' '::text ) || _ ('discharged'::text) ) || ': '::text ) || to_char (c_hs.discharge ,'YYYY-MM-DD'::text ) ) || ' '::text ) || ' '::text ) || _ ('hospital'::text) ) || ': "'::text ) || d_ou.description ) || ' @ '::text ) || d_o.description ) || '"'::text ) || ' '::text ) || COALESCE ( (' '::text || c_hs.narrative) ,''::text ) ) AS narrative , c_hs.fk_encounter AS pk_encounter , c_hs.fk_episode AS pk_episode , ( SELECT episode.fk_health_issue FROM clin.episode WHERE (episode.pk = c_hs.fk_episode) ) AS pk_health_issue , c_hs.pk AS src_pk , 'clin.hospital_stay'::text AS src_table , c_hs.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( ( ( (clin.hospital_stay c_hs JOIN clin.encounter c_enc ON ( (c_hs.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN clin.episode c_epi ON ( (c_hs.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (d_ou.pk = c_hs.fk_org_unit) ) ) LEFT JOIN dem.org d_o ON ( (d_o.pk = d_ou.fk_org) ) ) WHERE ( (c_hs.discharge IS NOT NULL) AND (to_char (c_hs.clin_when ,'YYYYMMDD'::text ) <> to_char (c_hs.discharge ,'YYYYMMDD'::text ) ) );
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_hs.modified_when , c_hs.discharge AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_hs.modified_by) ) , ( ('<'::text || (c_hs.modified_by)::text ) || '>'::text ) ) AS modified_by , c_hs.soap_cat , ( ( ( ( (_ ('discharged from'::text) || ' "'::text ) || d_ou.description ) || ' @ '::text ) || d_o.description ) || '"'::text ) AS narrative , c_hs.fk_encounter AS pk_encounter , c_hs.fk_episode AS pk_episode , ( SELECT episode.fk_health_issue FROM clin.episode WHERE (episode.pk = c_hs.fk_episode) ) AS pk_health_issue , c_hs.pk AS src_pk , 'clin.hospital_stay'::text AS src_table , c_hs.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( ( ( (clin.hospital_stay c_hs JOIN clin.encounter c_enc ON ( (c_hs.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN clin.episode c_epi ON ( (c_hs.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (d_ou.pk = c_hs.fk_org_unit) ) ) LEFT JOIN dem.org d_o ON ( (d_o.pk = d_ou.fk_org) ) ) WHERE ( (c_hs.discharge IS NOT NULL) AND (to_char (c_hs.clin_when ,'YYYYMMDD'::text ) <> to_char (c_hs.discharge ,'YYYYMMDD'::text ) ) );
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_hs.modified_when , c_hs.clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_hs.modified_by) ) , ( ('<'::text || (c_hs.modified_by)::text ) || '>'::text ) ) AS modified_by , c_hs.soap_cat , ( ( ( ( ( ( ( ( ( ( ( ( ( (_ ('hospital stay'::text) || ' '::text ) || ' '::text ) || _ ('admitted'::text) ) || ': '::text ) || to_char (c_hs.clin_when ,'YYYY-MM-DD'::text ) ) || ' '::text ) || ' '::text ) || _ ('hospital'::text) ) || ': "'::text ) || d_ou.description ) || ' @ '::text ) || d_o.description ) || '"'::text ) || COALESCE ( (' '::text || c_hs.narrative) ,''::text ) ) AS narrative , c_hs.fk_encounter AS pk_encounter , c_hs.fk_episode AS pk_episode , ( SELECT episode.fk_health_issue FROM clin.episode WHERE (episode.pk = c_hs.fk_episode) ) AS pk_health_issue , c_hs.pk AS src_pk , 'clin.hospital_stay'::text AS src_table , c_hs.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( ( ( (clin.hospital_stay c_hs JOIN clin.encounter c_enc ON ( (c_hs.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN clin.episode c_epi ON ( (c_hs.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (d_ou.pk = c_hs.fk_org_unit) ) ) LEFT JOIN dem.org d_o ON ( (d_o.pk = d_ou.fk_org) ) ) WHERE (c_hs.discharge IS NULL);
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_hs.modified_when , c_hs.clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_hs.modified_by) ) , ( ('<'::text || (c_hs.modified_by)::text ) || '>'::text ) ) AS modified_by , c_hs.soap_cat , ( ( ( ( ( ( ( ( ( ( ( ( ( ( (_ ('hospital stay'::text) || ' '::text ) || ' '::text ) || _ ('admitted/discharged'::text) ) || ': '::text ) || to_char (c_hs.clin_when ,'YYYY-MM-DD'::text ) ) || ' '::text ) || ' '::text ) || _ ('hospital'::text) ) || ': "'::text ) || d_ou.description ) || ' @ '::text ) || d_o.description ) || '"'::text ) || ' '::text ) || COALESCE ( (' '::text || c_hs.narrative) ,''::text ) ) AS narrative , c_hs.fk_encounter AS pk_encounter , c_hs.fk_episode AS pk_episode , ( SELECT episode.fk_health_issue FROM clin.episode WHERE (episode.pk = c_hs.fk_episode) ) AS pk_health_issue , c_hs.pk AS src_pk , 'clin.hospital_stay'::text AS src_table , c_hs.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( ( ( (clin.hospital_stay c_hs JOIN clin.encounter c_enc ON ( (c_hs.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN clin.episode c_epi ON ( (c_hs.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (d_ou.pk = c_hs.fk_org_unit) ) ) LEFT JOIN dem.org d_o ON ( (d_o.pk = d_ou.fk_org) ) ) WHERE ( (c_hs.discharge IS NOT NULL) AND (to_char (c_hs.clin_when ,'YYYYMMDD'::text ) = to_char (c_hs.discharge ,'YYYYMMDD'::text ) ) );
Shows incoming data but w/o the data field.
F-Key | Name | Type | Description |
---|
SELECT c_idu.pk AS pk_incoming_data_unmatched , c_idu.fk_patient_candidates AS pk_patient_candidates , c_idu.firstnames , c_idu.lastnames , c_idu.dob , c_idu.gender , c_idu.postcode , c_idu.other_info , c_idu.request_id , c_idu.requestor , c_idu.external_data_id , c_idu.comment , c_idu.fk_identity_disambiguated AS pk_identity_disambiguated , c_idu.fk_provider_disambiguated AS pk_provider_disambiguated , c_idu.type AS data_type , md5 (c_idu.data) AS md5_sum , octet_length (c_idu.data) AS data_size , c_idu.xmin AS xmin_incoming_data_unmatched FROM clin.incoming_data_unmatched c_idu;
Denormalized codes linked to EMR structures.
F-Key | Name | Type | Description |
---|
SELECT c_lc2ir.fk_item AS pk_item , (c_lc2ir.tableoid)::regclass AS item_table , (r_csr.code || COALESCE (c_lc2ir.code_modifier ,''::text ) ) AS code , r_csr.code AS base_code , c_lc2ir.code_modifier , r_csr.term , r_ds.name_long , r_ds.name_short , r_ds.version , r_ds.lang , (r_csr.tableoid)::regclass AS code_table , r_csr.pk_coding_system AS pk_generic_code , r_csr.fk_data_source AS pk_data_source , c_lc2ir.pk_lnk_code2item FROM ( (clin.lnk_code2item_root c_lc2ir JOIN ref.coding_system_root r_csr ON ( (r_csr.pk_coding_system = c_lc2ir.fk_generic_code) ) ) JOIN ref.data_source r_ds ON ( (r_ds.pk = r_csr.fk_data_source) ) );
Lists the most recent encounters per patient. Logic of "most recent" is: for a patient: 1) select encounters with latest "last_affirmed", 2) from those select encounters with latest "started" 3) limit those to 1 if there are duplicates (same start and end of encounter!)
F-Key | Name | Type | Description |
---|
SELECT ce1.pk AS pk_encounter , ce1.fk_patient AS pk_patient , ce1.reason_for_encounter , ce1.assessment_of_encounter , et.description AS type , _ (et.description) AS l10n_type , ce1.started , ce1.last_affirmed , ce1.fk_type AS pk_type , ce1.fk_location AS pk_location FROM clin.encounter ce1 , clin.encounter_type et WHERE ( (ce1.fk_type = et.pk) AND (ce1.started = ( SELECT max (ce2.started) AS max FROM clin.encounter ce2 WHERE (ce2.last_affirmed = ( SELECT max (ce3.last_affirmed) AS max FROM clin.encounter ce3 WHERE (ce3.fk_patient = ce1.fk_patient) ) ) LIMIT 1 ) ) );
patient narrative with denormalized context added
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_n.clin_when AS date , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_n.modified_by) ) , ( ('<'::text || (c_n.modified_by)::text ) || '>'::text ) ) AS modified_by , c_n.soap_cat , c_n.narrative , c_epi.description AS episode , c_hi.description AS health_issue , c_n.pk_item , c_n.pk AS pk_narrative , c_epi.fk_health_issue AS pk_health_issue , c_n.fk_episode AS pk_episode , c_n.fk_encounter AS pk_encounter , c_n.xmin AS xmin_clin_narrative , c_n.modified_when , c_n.row_version , c_n.pk_audit , c_n.modified_by AS modified_by_raw , COALESCE ( ( SELECT array_agg (c_lc2n.fk_generic_code) AS array_agg FROM clin.lnk_code2narrative c_lc2n WHERE (c_lc2n.fk_item = c_n.pk) ) , ARRAY[]::integer[] ) AS pk_generic_codes FROM ( ( (clin.clin_narrative c_n LEFT JOIN clin.encounter c_enc ON ( (c_n.fk_encounter = c_enc.pk) ) ) LEFT JOIN clin.episode c_epi ON ( (c_n.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) );
denormalizes clin.allergy
F-Key | Name | Type | Description |
---|
SELECT a.pk AS pk_allergy , ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = a.fk_encounter) ) AS pk_patient , a.soap_cat , CASE WHEN (COALESCE (btrim (a.allergene) ,''::text ) = ''::text ) THEN a.substance ELSE a.allergene END AS descriptor , a.allergene , a.substance , a.substance_code , a.generics , a.generic_specific , a.atc_code , at.value AS type , _ (at.value) AS l10n_type , a.definite , a.narrative AS reaction , a.fk_type AS pk_type , a.pk_item , a.clin_when AS date , ( SELECT episode.fk_health_issue FROM clin.episode WHERE (episode.pk = a.fk_episode) ) AS pk_health_issue , a.fk_episode AS pk_episode , a.fk_encounter AS pk_encounter , a.modified_when , a.modified_by , a.xmin AS xmin_allergy FROM clin.allergy a , clin._enum_allergy_type at WHERE (at.pk = a.fk_type);
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_all.modified_when , c_all.clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_all.modified_by) ) , ( ('<'::text || (c_all.modified_by)::text ) || '>'::text ) ) AS modified_by , c_all.soap_cat , ( ( ( ( ( ( ( ( ( ( ( (_ ('Allergy'::text) || ' ('::text) || _ (c_at.value) ) || '): '::text ) || COALESCE (c_all.narrative ,''::text ) ) || ' '::text ) || _ ('substance'::text) ) || ': '::text ) || c_all.substance ) || '; '::text ) || COALESCE ( ( ( (_ ('allergene'::text) || ': '::text ) || c_all.allergene ) || '; '::text ) ,''::text ) ) || COALESCE ( ( ( (_ ('generic'::text) || ': '::text ) || c_all.generics ) || '; '::text ) ,''::text ) ) || COALESCE ( ( ( (_ ('ATC code'::text) || ': '::text ) || c_all.atc_code ) || '; '::text ) ,''::text ) ) AS narrative , c_all.fk_encounter AS pk_encounter , c_all.fk_episode AS pk_episode , c_epi.fk_health_issue AS pk_health_issue , c_all.pk AS src_pk , 'clin.allergy'::text AS src_table , c_all.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( ( (clin.allergy c_all JOIN clin._enum_allergy_type c_at ON ( (c_all.fk_type = c_at.pk) ) ) JOIN clin.encounter c_enc ON ( (c_all.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN clin.episode c_epi ON ( (c_all.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = a.fk_encounter) ) AS pk_patient , a.modified_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = a.modified_by) ) , ( ('<'::text || (a.modified_by)::text ) || '>'::text ) ) AS modified_by , a.last_confirmed , a.has_allergy , a.comment , a.fk_encounter AS pk_encounter , a.pk AS pk_allergy_state , a.xmin AS xmin_allergy_state FROM clin.allergy_state a;
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_ast.modified_when , COALESCE (c_ast.last_confirmed , c_ast.modified_when ) AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_ast.modified_by) ) , ( ('<'::text || (c_ast.modified_by)::text ) || '>'::text ) ) AS modified_by , 'o'::text AS soap_cat , ( ( ( (_ ('Allergy state'::text) || ': '::text ) || CASE WHEN (c_ast.has_allergy IS NULL) THEN _ ( 'unknown, unasked'::text ) WHEN (c_ast.has_allergy = 0) THEN _ ('no known allergies'::text) WHEN (c_ast.has_allergy = 1) THEN _ ('does have allergies'::text) ELSE NULL::text END ) || COALESCE ( ( ( ( ' ('::text || _ ('last confirmed'::text) ) || to_char (c_ast.last_confirmed ,' YYYY-MM-DD HH24:MI'::text ) ) || ')'::text ) ,''::text ) ) || COALESCE ( (' '::text || c_ast.comment) ,''::text ) ) AS narrative , c_ast.fk_encounter AS pk_encounter , NULL::integer AS pk_episode , NULL::integer AS pk_health_issue , c_ast.pk AS src_pk , 'clin.allergy_state'::text AS src_table , c_ast.row_version , NULL::text AS health_issue , NULL::text AS issue_laterality , NULL::boolean AS issue_active , NULL::boolean AS issue_clinically_relevant , NULL::boolean AS issue_confidential , NULL::text AS episode , NULL::boolean AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( (clin.allergy_state c_ast JOIN clin.encounter c_enc ON ( (c_ast.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) UNION ALL SELECT c_enc.fk_patient AS pk_patient , now () AS modified_when , now () AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_ast.modified_by) ) , ( ('<'::text || (c_ast.modified_by)::text ) || '>'::text ) ) AS modified_by , 'o'::text AS soap_cat , ( ( ( ( ( ( ( ( (_ ('Allergy state'::text) || ' ('::text) || _ ('copy'::text) ) || '): '::text ) || CASE WHEN (c_ast.has_allergy IS NULL) THEN _ ( 'unknown, unasked'::text ) WHEN (c_ast.has_allergy = 0) THEN _ ('no known allergies'::text) WHEN (c_ast.has_allergy = 1) THEN _ ('does have allergies'::text) ELSE NULL::text END ) || COALESCE ( (' '::text || c_ast.comment) ,''::text ) ) || COALESCE ( ( (' '::text || _ ('last confirmed'::text) ) || to_char (c_ast.last_confirmed ,' YYYY-MM-DD HH24:MI'::text ) ) ,''::text ) ) || COALESCE ( ( (' '::text || _ ('entry last modified'::text) ) || to_char (c_ast.modified_when ,' YYYY-MM-DD HH24:MI'::text ) ) ,''::text ) ) || COALESCE ( ( (' '::text || _ ('encounter started'::text) ) || to_char (c_enc.started ,' YYYY-MM-DD HH24:MI'::text ) ) ,''::text ) ) || COALESCE ( ( (' '::text || _ ('encounter last affirmed'::text) ) || to_char (c_enc.last_affirmed ,' YYYY-MM-DD HH24:MI'::text ) ) ,''::text ) ) AS narrative , c_ast.fk_encounter AS pk_encounter , NULL::integer AS pk_episode , NULL::integer AS pk_health_issue , c_ast.pk AS src_pk , 'clin.allergy_state'::text AS src_table , c_ast.row_version , NULL::text AS health_issue , NULL::text AS issue_laterality , NULL::boolean AS issue_active , NULL::boolean AS issue_clinically_relevant , NULL::boolean AS issue_confidential , NULL::text AS episode , NULL::boolean AS episode_open , now () AS encounter_started , now () AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( (clin.allergy_state c_ast JOIN clin.encounter c_enc ON ( (c_ast.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) );
Details on encounters.
F-Key | Name | Type | Description |
---|
SELECT c_enc.pk AS pk_encounter , c_enc.fk_patient AS pk_patient , c_enc.started , c_et.description AS type , _ (c_et.description) AS l10n_type , c_enc.reason_for_encounter , c_enc.assessment_of_encounter , c_enc.last_affirmed , c_enc.source_time_zone , ( SELECT timezone ( ( SELECT c_enc1.source_time_zone FROM clin.encounter c_enc1 WHERE (c_enc1.pk = c_enc.pk) ) , c_enc.started ) AS timezone ) AS started_original_tz , ( SELECT timezone ( ( SELECT c_enc1.source_time_zone FROM clin.encounter c_enc1 WHERE (c_enc1.pk = c_enc.pk) ) , c_enc.last_affirmed ) AS timezone ) AS last_affirmed_original_tz , COALESCE (d_ou.description ,'?'::text ) AS praxis_branch , COALESCE (d_o.description ,'?'::text ) AS praxis , c_enc.fk_location AS pk_org_unit , d_ou.fk_org AS pk_org , d_ou.fk_category AS pk_unit_type , d_o.fk_category AS pk_org_type , c_enc.fk_type AS pk_type , COALESCE ( ( SELECT array_agg (c_lc2r.fk_generic_code) AS array_agg FROM clin.lnk_code2rfe c_lc2r WHERE (c_lc2r.fk_item = c_enc.pk) ) , ARRAY[]::integer[] ) AS pk_generic_codes_rfe , COALESCE ( ( SELECT array_agg (c_lc2a.fk_generic_code) AS array_agg FROM clin.lnk_code2aoe c_lc2a WHERE (c_lc2a.fk_item = c_enc.pk) ) , ARRAY[]::integer[] ) AS pk_generic_codes_aoe , c_enc.xmin AS xmin_encounter , c_enc.row_version , c_enc.pk_audit , c_enc.modified_when , c_enc.modified_by AS modified_by_raw , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_enc.modified_by) ) , ( ('<'::text || (c_enc.modified_by)::text ) || '>'::text ) ) AS modified_by FROM ( ( (clin.encounter c_enc LEFT JOIN clin.encounter_type c_et ON ( (c_enc.fk_type = c_et.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (c_enc.fk_location = d_ou.pk) ) ) LEFT JOIN dem.org d_o ON ( (d_ou.fk_org = d_o.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_enc.modified_when , c_enc.started AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_enc.modified_by) ) , ( ('<'::text || (c_enc.modified_by)::text ) || '>'::text ) ) AS modified_by , NULL::text AS soap_cat , ( ( ( ( ( ( ( ( (_ ('Encounter'::text) || ': '::text ) || ( SELECT _ (encounter_type.description) AS _ FROM clin.encounter_type WHERE (encounter_type.pk = c_enc.fk_type) ) ) || to_char (c_enc.started ,' YYYY-MM-DD HH24:MI'::text ) ) || to_char (c_enc.last_affirmed ,' - HH24:MI'::text ) ) || COALESCE ( ( ( ( ( ( ( ( (' @ '::text || _ ('branch'::text) ) || ' "'::text ) || d_ou.description ) || '" '::text ) || _ ('of'::text) ) || ' "'::text ) || d_o.description ) || '"'::text ) ,''::text ) ) || COALESCE ( ( ( (' '::text || _ ('RFE'::text) ) || ': '::text ) || c_enc.reason_for_encounter ) ,''::text ) ) || COALESCE ( ( (' '::text || array_to_string ( ( SELECT array_agg ( ( ( ( ( ( ( ( (r_csr.code || ' ('::text) || r_ds.name_short ) || ' - '::text ) || r_ds.version ) || ' - '::text ) || r_ds.lang ) || '): '::text ) || r_csr.term ) ) AS array_agg FROM ( (clin.lnk_code2rfe c_lc2r JOIN ref.coding_system_root r_csr ON ( (c_lc2r.fk_generic_code = r_csr.pk_coding_system) ) ) JOIN ref.data_source r_ds ON ( (r_ds.pk = r_csr.fk_data_source) ) ) WHERE (c_lc2r.fk_item = c_enc.pk) ) ,'; '::text ) ) || ';'::text ) ,''::text ) ) || COALESCE ( ( ( (' '::text || _ ('AOE'::text) ) || ': '::text ) || c_enc.assessment_of_encounter ) ,''::text ) ) || COALESCE ( ( (' '::text || array_to_string ( ( SELECT array_agg ( ( ( ( ( ( ( ( (r_csr.code || ' ('::text) || r_ds.name_short ) || ' - '::text ) || r_ds.version ) || ' - '::text ) || r_ds.lang ) || '): '::text ) || r_csr.term ) ) AS array_agg FROM ( (clin.lnk_code2aoe c_lc2a JOIN ref.coding_system_root r_csr ON ( (c_lc2a.fk_generic_code = r_csr.pk_coding_system) ) ) JOIN ref.data_source r_ds ON ( (r_ds.pk = r_csr.fk_data_source) ) ) WHERE (c_lc2a.fk_item = c_enc.pk) ) ,'; '::text ) ) || ';'::text ) ,''::text ) ) AS narrative , c_enc.pk AS pk_encounter , NULL::integer AS pk_episode , NULL::integer AS pk_health_issue , c_enc.pk AS src_pk , 'clin.encounter'::text AS src_table , c_enc.row_version , NULL::text AS health_issue , NULL::text AS issue_laterality , NULL::boolean AS issue_active , NULL::boolean AS issue_clinically_relevant , NULL::boolean AS issue_confidential , NULL::text AS episode , NULL::boolean AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( (clin.encounter c_enc JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (c_enc.fk_location = d_ou.pk) ) ) LEFT JOIN dem.org d_o ON ( (d_ou.fk_org = d_o.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT cenc.fk_patient AS pk_patient , cep.description , cep.summary , cep.is_open AS episode_open , NULL::text AS health_issue , NULL::boolean AS issue_active , NULL::boolean AS issue_clinically_relevant , ( SELECT min (cle.started) AS min FROM clin.encounter cle WHERE (cle.pk = cep.fk_encounter) LIMIT 1 ) AS started_first , ( SELECT max (cle.started) AS max FROM clin.encounter cle WHERE (cle.pk = cep.fk_encounter) LIMIT 1 ) AS started_last , ( SELECT max (cle.last_affirmed) AS max FROM clin.encounter cle WHERE (cle.pk = cep.fk_encounter) LIMIT 1 ) AS last_affirmed , cep.pk AS pk_episode , cep.fk_encounter AS pk_encounter , NULL::integer AS pk_health_issue , cep.modified_when AS episode_modified_when , cep.modified_by AS episode_modified_by , cep.diagnostic_certainty_classification , NULL::text AS diagnostic_certainty_classification_issue , COALESCE ( ( SELECT array_agg (c_lc2e.fk_generic_code) AS array_agg FROM clin.lnk_code2episode c_lc2e WHERE (c_lc2e.fk_item = cep.pk) ) , ARRAY[]::integer[] ) AS pk_generic_codes , cep.xmin AS xmin_episode FROM (clin.episode cep JOIN clin.encounter cenc ON ( (cep.fk_encounter = cenc.pk) ) ) WHERE (cep.fk_health_issue IS NULL) UNION ALL SELECT cenc.fk_patient AS pk_patient , cep.description , cep.summary , cep.is_open AS episode_open , chi.description AS health_issue , chi.is_active AS issue_active , chi.clinically_relevant AS issue_clinically_relevant , ( SELECT min (cle.started) AS min FROM clin.encounter cle WHERE (cle.pk = cep.fk_encounter) LIMIT 1 ) AS started_first , ( SELECT max (cle.started) AS max FROM clin.encounter cle WHERE (cle.pk = cep.fk_encounter) LIMIT 1 ) AS started_last , ( SELECT max (cle.last_affirmed) AS max FROM clin.encounter cle WHERE (cle.pk = cep.fk_encounter) LIMIT 1 ) AS last_affirmed , cep.pk AS pk_episode , cep.fk_encounter AS pk_encounter , cep.fk_health_issue AS pk_health_issue , cep.modified_when AS episode_modified_when , cep.modified_by AS episode_modified_by , cep.diagnostic_certainty_classification , chi.diagnostic_certainty_classification AS diagnostic_certainty_classification_issue , COALESCE ( ( SELECT array_agg (c_lc2e.fk_generic_code) AS array_agg FROM clin.lnk_code2episode c_lc2e WHERE (c_lc2e.fk_item = cep.pk) ) , ARRAY[]::integer[] ) AS pk_generic_codes , cep.xmin AS xmin_episode FROM ( (clin.episode cep JOIN clin.encounter cenc ON ( (cep.fk_encounter = cenc.pk) ) ) JOIN clin.health_issue chi ON ( (cep.fk_health_issue = chi.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_epi.modified_when , c_enc.started AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_epi.modified_by) ) , ( ('<'::text || (c_epi.modified_by)::text ) || '>'::text ) ) AS modified_by , 'a'::text AS soap_cat , ( ( ( ( ( ( ( (_ ('Episode'::text) || ' ('::text) || CASE WHEN c_epi.is_open THEN _ ('open'::text) ELSE _ ('closed'::text) END ) || COALESCE ( ( ', '::text || c_epi.diagnostic_certainty_classification ) ,''::text ) ) || '): '::text ) || c_epi.description ) || ';'::text ) || COALESCE ( ( ( ( (' '::text || _ ('Synopsis'::text) ) || ': '::text ) || c_epi.summary ) || ';'::text ) ,''::text ) ) || COALESCE ( ( (' '::text || array_to_string ( ( SELECT array_agg ( ( ( ( ( ( ( ( (r_csr.code || ' ('::text) || r_ds.name_short ) || ' - '::text ) || r_ds.version ) || ' - '::text ) || r_ds.lang ) || '): '::text ) || r_csr.term ) ) AS array_agg FROM ( (clin.lnk_code2episode c_lc2e JOIN ref.coding_system_root r_csr ON ( (c_lc2e.fk_generic_code = r_csr.pk_coding_system) ) ) JOIN ref.data_source r_ds ON ( (r_ds.pk = r_csr.fk_data_source) ) ) WHERE (c_lc2e.fk_item = c_epi.pk) ) ,'; '::text ) ) || ';'::text ) ,''::text ) ) AS narrative , c_epi.fk_encounter AS pk_encounter , c_epi.pk AS pk_episode , c_epi.fk_health_issue AS pk_health_issue , c_epi.pk AS src_pk , 'clin.episode'::text AS src_table , c_epi.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( (clin.episode c_epi JOIN clin.encounter c_enc ON ( (c_epi.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) );
F-Key | Name | Type | Description |
---|
SELECT cri.modified_when , cri.modified_by , cri.clin_when , CASE cri.row_version WHEN 0 THEN false ELSE true END AS is_modified , cenc.fk_patient AS pk_patient , cri.pk_item , cri.fk_encounter AS pk_encounter , cri.fk_episode AS pk_episode , cepi.fk_health_issue AS pk_health_issue , cri.soap_cat , cri.narrative , ( ( (pgn.nspname)::text || '.'::text ) || (pgc.relname)::text ) AS src_table FROM clin.clin_root_item cri , clin.encounter cenc , clin.episode cepi , (pg_class pgc LEFT JOIN pg_namespace pgn ON ( (pgc.relnamespace = pgn.oid) ) ) WHERE ( (cri.fk_encounter = cenc.pk) AND (cri.fk_episode = cepi.pk) AND (cri.tableoid = pgc.oid) );
Lists *latest* vaccinations with total count per indication.
F-Key | Name | Type | Description |
---|
SELECT c_vpv4i.pk_patient , c_vpv4i.pk_vaccination , c_vpv4i.date_given , c_vpv4i.vaccine , c_vpv4i.indication , c_vpv4i.l10n_indication , c_vpv4i.site , c_vpv4i.batch_no , c_vpv4i.reaction , c_vpv4i.comment , c_vpv4i.soap_cat , c_vpv4i.modified_when , c_vpv4i.modified_by , c_vpv4i.row_version , c_vpv4i.pk_vaccine , c_vpv4i.atc_indication , c_vpv4i.pk_provider , c_vpv4i.pk_encounter , c_vpv4i.pk_episode , c_vpv4i.xmin_vaccination , shots_per_ind.no_of_shots FROM (clin.v_pat_vaccs4indication c_vpv4i JOIN ( SELECT count (1) AS no_of_shots , v_pat_vaccs4indication.pk_patient , v_pat_vaccs4indication.atc_indication FROM clin.v_pat_vaccs4indication GROUP BY v_pat_vaccs4indication.pk_patient , v_pat_vaccs4indication.atc_indication ) shots_per_ind ON ( ( (c_vpv4i.pk_patient = shots_per_ind.pk_patient) AND (c_vpv4i.atc_indication = shots_per_ind.atc_indication) ) ) ) WHERE (c_vpv4i.date_given = ( SELECT max (c_vpv4i_2.date_given) AS max FROM clin.v_pat_vaccs4indication c_vpv4i_2 WHERE ( (c_vpv4i.pk_patient = c_vpv4i_2.pk_patient) AND (c_vpv4i.atc_indication = c_vpv4i_2.atc_indication) ) ) );
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_n.modified_when , CASE WHEN (c_n.soap_cat = ANY (ARRAY['s'::text ,'o'::text ,'u'::text] ) ) THEN c_enc.started WHEN (c_n.soap_cat IS NULL) THEN c_enc.last_affirmed WHEN (c_n.soap_cat = ANY (ARRAY['a'::text ,'p'::text] ) ) THEN c_enc.last_affirmed ELSE NULL::timestamp with time zone END AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_n.modified_by) ) , ( ('<'::text || (c_n.modified_by)::text ) || '>'::text ) ) AS modified_by , c_n.soap_cat , c_n.narrative , c_n.fk_encounter AS pk_encounter , c_n.fk_episode AS pk_episode , c_epi.fk_health_issue AS pk_health_issue , c_n.pk AS src_pk , 'clin.clin_narrative'::text AS src_table , c_n.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( (clin.clin_narrative c_n JOIN clin.encounter c_enc ON ( (c_n.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN clin.episode c_epi ON ( (c_n.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) );
Lists all vaccinations for each indication for patients
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_shot.pk AS pk_vaccination , c_shot.clin_when AS date_given , r_dp.description AS vaccine , _ ( (r_s.atc || '-target'::text) ,'en'::text ) AS indication , CASE WHEN (_ ( (r_s.atc || '-target'::text) ) = (r_s.atc || '-target'::text) ) THEN _ ( (r_s.atc || '-target'::text) ,'en'::text ) ELSE _ ( (r_s.atc || '-target'::text) ) END AS l10n_indication , c_shot.site , c_shot.batch_no , c_shot.reaction , c_shot.narrative AS comment , c_shot.soap_cat , c_shot.modified_when , c_shot.modified_by , c_shot.row_version , c_shot.fk_vaccine AS pk_vaccine , r_s.atc AS atc_indication , c_shot.fk_provider AS pk_provider , c_shot.fk_encounter AS pk_encounter , c_shot.fk_episode AS pk_episode , c_shot.xmin AS xmin_vaccination FROM ( ( ( ( ( (clin.vaccination c_shot JOIN clin.encounter c_enc ON ( (c_enc.pk = c_shot.fk_encounter) ) ) JOIN ref.vaccine r_v ON ( (r_v.pk = c_shot.fk_vaccine) ) ) JOIN ref.drug_product r_dp ON ( (r_dp.pk = r_v.fk_drug_product) ) ) JOIN ref.lnk_dose2drug r_ld2d ON ( (r_ld2d.fk_drug_product = r_dp.pk) ) ) JOIN ref.dose r_d ON ( (r_d.pk = r_ld2d.fk_dose) ) ) JOIN ref.substance r_s ON ( (r_s.pk = r_d.fk_substance) ) );
F-Key | Name | Type | Description |
---|
SELECT ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = cep.fk_encounter) ) AS pk_patient , cep.description AS problem , cep.summary , 'episode'::text AS type , _ ('episode'::text) AS l10n_type , false AS problem_active , false AS clinically_relevant , cep.pk AS pk_episode , cep.fk_health_issue AS pk_health_issue , cep.diagnostic_certainty_classification , cep.fk_encounter AS pk_encounter , cep.modified_when FROM clin.episode cep WHERE (cep.is_open IS FALSE) UNION SELECT ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = chi.fk_encounter) ) AS pk_patient , chi.description AS problem , chi.summary , 'issue'::text AS type , _ ('health issue'::text) AS l10n_type , chi.is_active AS problem_active , false AS clinically_relevant , NULL::integer AS pk_episode , chi.pk AS pk_health_issue , chi.diagnostic_certainty_classification , chi.fk_encounter AS pk_encounter , chi.modified_when FROM clin.health_issue chi WHERE (chi.clinically_relevant IS FALSE);
F-Key | Name | Type | Description |
---|
SELECT ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = cep.fk_encounter) ) AS pk_patient , cep.description AS problem , cep.summary , 'episode'::text AS type , _ ('episode'::text) AS l10n_type , true AS problem_active , true AS clinically_relevant , cep.pk AS pk_episode , cep.fk_health_issue AS pk_health_issue , cep.diagnostic_certainty_classification , cep.fk_encounter AS pk_encounter , cep.modified_when FROM clin.episode cep WHERE (cep.is_open IS TRUE) UNION SELECT ( SELECT encounter.fk_patient FROM clin.encounter WHERE (encounter.pk = chi.fk_encounter) ) AS pk_patient , chi.description AS problem , chi.summary , 'issue'::text AS type , _ ('health issue'::text) AS l10n_type , chi.is_active AS problem_active , true AS clinically_relevant , NULL::integer AS pk_episode , chi.pk AS pk_health_issue , chi.diagnostic_certainty_classification , chi.fk_encounter AS pk_encounter , chi.modified_when FROM clin.health_issue chi WHERE (chi.clinically_relevant IS TRUE);
F-Key | Name | Type | Description |
---|
SELECT v_procedures_at_hospital.pk_procedure , v_procedures_at_hospital.pk_patient , v_procedures_at_hospital.soap_cat , v_procedures_at_hospital.clin_when , v_procedures_at_hospital.clin_end , v_procedures_at_hospital.is_ongoing , v_procedures_at_hospital.performed_procedure , v_procedures_at_hospital.comment , v_procedures_at_hospital.unit , v_procedures_at_hospital.organization , v_procedures_at_hospital.episode , v_procedures_at_hospital.health_issue , v_procedures_at_hospital.modified_when , v_procedures_at_hospital.modified_by , v_procedures_at_hospital.row_version , v_procedures_at_hospital.pk_encounter , v_procedures_at_hospital.pk_episode , v_procedures_at_hospital.pk_hospital_stay , v_procedures_at_hospital.pk_health_issue , v_procedures_at_hospital.pk_doc , v_procedures_at_hospital.pk_org , v_procedures_at_hospital.pk_org_unit , v_procedures_at_hospital.pk_generic_codes , v_procedures_at_hospital.xmin_procedure FROM clin.v_procedures_at_hospital UNION ALL SELECT v_procedures_not_at_hospital.pk_procedure , v_procedures_not_at_hospital.pk_patient , v_procedures_not_at_hospital.soap_cat , v_procedures_not_at_hospital.clin_when , v_procedures_not_at_hospital.clin_end , v_procedures_not_at_hospital.is_ongoing , v_procedures_not_at_hospital.performed_procedure , v_procedures_not_at_hospital.comment , v_procedures_not_at_hospital.unit , v_procedures_not_at_hospital.organization , v_procedures_not_at_hospital.episode , v_procedures_not_at_hospital.health_issue , v_procedures_not_at_hospital.modified_when , v_procedures_not_at_hospital.modified_by , v_procedures_not_at_hospital.row_version , v_procedures_not_at_hospital.pk_encounter , v_procedures_not_at_hospital.pk_episode , v_procedures_not_at_hospital.pk_hospital_stay , v_procedures_not_at_hospital.pk_health_issue , v_procedures_not_at_hospital.pk_doc , v_procedures_not_at_hospital.pk_org , v_procedures_not_at_hospital.pk_org_unit , v_procedures_not_at_hospital.pk_generic_codes , v_procedures_not_at_hospital.xmin_procedure FROM clin.v_procedures_not_at_hospital;
F-Key | Name | Type | Description |
---|
SELECT c_pr.pk AS pk_procedure , c_enc.fk_patient AS pk_patient , c_pr.soap_cat , c_pr.clin_when , c_pr.clin_end , c_pr.is_ongoing , c_pr.narrative AS performed_procedure , c_pr.comment , c_vhs.ward AS unit , c_vhs.hospital AS organization , c_ep.description AS episode , c_hi.description AS health_issue , c_pr.modified_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_pr.modified_by) ) , ( ('<'::text || (c_pr.modified_by)::text ) || '>'::text ) ) AS modified_by , c_pr.row_version , c_pr.fk_encounter AS pk_encounter , c_pr.fk_episode AS pk_episode , c_pr.fk_hospital_stay AS pk_hospital_stay , c_ep.fk_health_issue AS pk_health_issue , c_pr.fk_doc AS pk_doc , c_vhs.pk_org , c_vhs.pk_org_unit , COALESCE ( ( SELECT array_agg (c_lc2p.fk_generic_code) AS array_agg FROM clin.lnk_code2procedure c_lc2p WHERE (c_lc2p.fk_item = c_pr.pk) ) , ARRAY[]::integer[] ) AS pk_generic_codes , c_pr.xmin AS xmin_procedure FROM ( ( ( (clin.procedure c_pr JOIN clin.encounter c_enc ON ( (c_pr.fk_encounter = c_enc.pk) ) ) JOIN clin.episode c_ep ON ( (c_pr.fk_episode = c_ep.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_ep.fk_health_issue = c_hi.pk) ) ) LEFT JOIN clin.v_hospital_stays c_vhs ON ( (c_pr.fk_hospital_stay = c_vhs.pk_hospital_stay) ) ) WHERE (c_pr.fk_hospital_stay IS NOT NULL);
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_pr.modified_when , c_pr.clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_pr.modified_by) ) , ( ('<'::text || (c_pr.modified_by)::text ) || '>'::text ) ) AS modified_by , CASE WHEN (c_pr.is_ongoing IS TRUE) THEN 'p'::text ELSE 'o'::text END AS soap_cat , ( ( ( ( ( ( ( ( ( ( ( (_ ('Procedure'::text) || ' "'::text ) || c_pr.narrative ) || '"'::text ) || ' ('::text) || d_ou.description ) || ' @ '::text ) || d_o.description ) || COALESCE ( ( ( ( ', '::text || _ ('until'::text) ) || ' '::text ) || to_char (c_pr.clin_end ,'YYYY Mon DD'::text ) ) , CASE WHEN (c_pr.is_ongoing IS TRUE) THEN ( ', '::text || _ ('ongoing'::text) ) ELSE ''::text END ) ) || ')'::text ) || COALESCE ( (' '::text || c_pr.comment) ,''::text ) ) || COALESCE ( ( (' '::text || _ ('document #'::text) ) || c_pr.fk_doc ) ,''::text ) ) || COALESCE ( ( (' '::text || array_to_string ( ( SELECT array_agg ( ( ( ( ( ( ( ( (r_csr.code || ' ('::text) || r_ds.name_short ) || ' - '::text ) || r_ds.version ) || ' - '::text ) || r_ds.lang ) || '): '::text ) || r_csr.term ) ) AS array_agg FROM ( (clin.lnk_code2procedure c_lc2p JOIN ref.coding_system_root r_csr ON ( (c_lc2p.fk_generic_code = r_csr.pk_coding_system) ) ) JOIN ref.data_source r_ds ON ( (r_ds.pk = r_csr.fk_data_source) ) ) WHERE (c_lc2p.fk_item = c_pr.pk) ) ,'; '::text ) ) || ';'::text ) ,''::text ) ) AS narrative , c_pr.fk_encounter AS pk_encounter , c_pr.fk_episode AS pk_episode , c_epi.fk_health_issue AS pk_health_issue , c_pr.pk AS src_pk , 'clin.procedure'::text AS src_table , c_pr.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( ( ( ( (clin.procedure c_pr JOIN clin.encounter c_enc ON ( (c_pr.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN clin.episode c_epi ON ( (c_pr.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) ) LEFT JOIN clin.hospital_stay c_hs ON ( (c_pr.fk_hospital_stay = c_hs.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (c_hs.fk_org_unit = d_ou.pk) ) ) LEFT JOIN dem.org d_o ON ( (d_ou.fk_org = d_o.pk) ) ) WHERE (c_pr.fk_hospital_stay IS NOT NULL);
F-Key | Name | Type | Description |
---|
SELECT v_procedures_at_hospital_journal.pk_patient , v_procedures_at_hospital_journal.modified_when , v_procedures_at_hospital_journal.clin_when , v_procedures_at_hospital_journal.modified_by , v_procedures_at_hospital_journal.soap_cat , v_procedures_at_hospital_journal.narrative , v_procedures_at_hospital_journal.pk_encounter , v_procedures_at_hospital_journal.pk_episode , v_procedures_at_hospital_journal.pk_health_issue , v_procedures_at_hospital_journal.src_pk , v_procedures_at_hospital_journal.src_table , v_procedures_at_hospital_journal.row_version , v_procedures_at_hospital_journal.health_issue , v_procedures_at_hospital_journal.issue_laterality , v_procedures_at_hospital_journal.issue_active , v_procedures_at_hospital_journal.issue_clinically_relevant , v_procedures_at_hospital_journal.issue_confidential , v_procedures_at_hospital_journal.episode , v_procedures_at_hospital_journal.episode_open , v_procedures_at_hospital_journal.encounter_started , v_procedures_at_hospital_journal.encounter_last_affirmed , v_procedures_at_hospital_journal.encounter_type , v_procedures_at_hospital_journal.encounter_l10n_type FROM clin.v_procedures_at_hospital_journal UNION ALL SELECT v_procedures_not_at_hospital_journal.pk_patient , v_procedures_not_at_hospital_journal.modified_when , v_procedures_not_at_hospital_journal.clin_when , v_procedures_not_at_hospital_journal.modified_by , v_procedures_not_at_hospital_journal.soap_cat , v_procedures_not_at_hospital_journal.narrative , v_procedures_not_at_hospital_journal.pk_encounter , v_procedures_not_at_hospital_journal.pk_episode , v_procedures_not_at_hospital_journal.pk_health_issue , v_procedures_not_at_hospital_journal.src_pk , v_procedures_not_at_hospital_journal.src_table , v_procedures_not_at_hospital_journal.row_version , v_procedures_not_at_hospital_journal.health_issue , v_procedures_not_at_hospital_journal.issue_laterality , v_procedures_not_at_hospital_journal.issue_active , v_procedures_not_at_hospital_journal.issue_clinically_relevant , v_procedures_not_at_hospital_journal.issue_confidential , v_procedures_not_at_hospital_journal.episode , v_procedures_not_at_hospital_journal.episode_open , v_procedures_not_at_hospital_journal.encounter_started , v_procedures_not_at_hospital_journal.encounter_last_affirmed , v_procedures_not_at_hospital_journal.encounter_type , v_procedures_not_at_hospital_journal.encounter_l10n_type FROM clin.v_procedures_not_at_hospital_journal;
F-Key | Name | Type | Description |
---|
SELECT c_pr.pk AS pk_procedure , c_enc.fk_patient AS pk_patient , c_pr.soap_cat , c_pr.clin_when , c_pr.clin_end , c_pr.is_ongoing , c_pr.narrative AS performed_procedure , c_pr.comment , d_ou.description AS unit , d_o.description AS organization , c_ep.description AS episode , c_hi.description AS health_issue , c_pr.modified_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_pr.modified_by) ) , ( ('<'::text || (c_pr.modified_by)::text ) || '>'::text ) ) AS modified_by , c_pr.row_version , c_pr.fk_encounter AS pk_encounter , c_pr.fk_episode AS pk_episode , c_pr.fk_hospital_stay AS pk_hospital_stay , c_ep.fk_health_issue AS pk_health_issue , c_pr.fk_doc AS pk_doc , d_o.pk AS pk_org , d_ou.pk AS pk_org_unit , COALESCE ( ( SELECT array_agg (c_lc2p.fk_generic_code) AS array_agg FROM clin.lnk_code2procedure c_lc2p WHERE (c_lc2p.fk_item = c_pr.pk) ) , ARRAY[]::integer[] ) AS pk_generic_codes , c_pr.xmin AS xmin_procedure FROM ( ( ( ( (clin.procedure c_pr JOIN clin.encounter c_enc ON ( (c_pr.fk_encounter = c_enc.pk) ) ) JOIN clin.episode c_ep ON ( (c_pr.fk_episode = c_ep.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_ep.fk_health_issue = c_hi.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (d_ou.pk = c_pr.fk_org_unit) ) ) LEFT JOIN dem.org d_o ON ( (d_o.pk = d_ou.fk_org) ) ) WHERE (c_pr.fk_hospital_stay IS NULL);
F-Key | Name | Type | Description |
---|
SELECT c_enc.fk_patient AS pk_patient , c_pr.modified_when , c_pr.clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = c_pr.modified_by) ) , ( ('<'::text || (c_pr.modified_by)::text ) || '>'::text ) ) AS modified_by , CASE WHEN (c_pr.is_ongoing IS TRUE) THEN 'p'::text ELSE 'o'::text END AS soap_cat , ( ( ( ( ( ( ( ( ( ( ( (_ ('Procedure'::text) || ' "'::text ) || c_pr.narrative ) || '"'::text ) || ' ('::text) || d_ou.description ) || ' @ '::text ) || d_o.description ) || COALESCE ( ( ( ( ', '::text || _ ('until'::text) ) || ' '::text ) || to_char (c_pr.clin_end ,'YYYY Mon DD'::text ) ) , CASE WHEN (c_pr.is_ongoing IS TRUE) THEN ( ', '::text || _ ('ongoing'::text) ) ELSE ''::text END ) ) || ')'::text ) || COALESCE ( (' '::text || c_pr.comment) ,''::text ) ) || COALESCE ( ( (' '::text || _ ('document #'::text) ) || c_pr.fk_doc ) ,''::text ) ) || COALESCE ( ( (' '::text || array_to_string ( ( SELECT array_agg ( ( ( ( ( ( ( ( (r_csr.code || ' ('::text) || r_ds.name_short ) || ' - '::text ) || r_ds.version ) || ' - '::text ) || r_ds.lang ) || '): '::text ) || r_csr.term ) ) AS array_agg FROM ( (clin.lnk_code2procedure c_lc2p JOIN ref.coding_system_root r_csr ON ( (c_lc2p.fk_generic_code = r_csr.pk_coding_system) ) ) JOIN ref.data_source r_ds ON ( (r_ds.pk = r_csr.fk_data_source) ) ) WHERE (c_lc2p.fk_item = c_pr.pk) ) ,'; '::text ) ) || ';'::text ) ,''::text ) ) AS narrative , c_pr.fk_encounter AS pk_encounter , c_pr.fk_episode AS pk_episode , c_epi.fk_health_issue AS pk_health_issue , c_pr.pk AS src_pk , 'clin.procedure'::text AS src_table , c_pr.row_version , c_hi.description AS health_issue , c_hi.laterality AS issue_laterality , c_hi.is_active AS issue_active , c_hi.clinically_relevant AS issue_clinically_relevant , c_hi.is_confidential AS issue_confidential , c_epi.description AS episode , c_epi.is_open AS episode_open , c_enc.started AS encounter_started , c_enc.last_affirmed AS encounter_last_affirmed , c_ety.description AS encounter_type , _ (c_ety.description) AS encounter_l10n_type FROM ( ( ( ( ( (clin.procedure c_pr JOIN clin.encounter c_enc ON ( (c_pr.fk_encounter = c_enc.pk) ) ) JOIN clin.encounter_type c_ety ON ( (c_enc.fk_type = c_ety.pk) ) ) JOIN clin.episode c_epi ON ( (c_pr.fk_episode = c_epi.pk) ) ) LEFT JOIN clin.health_issue c_hi ON ( (c_epi.fk_health_issue = c_hi.pk) ) ) LEFT JOIN dem.org_unit d_ou ON ( (c_pr.fk_org_unit = d_ou.pk) ) ) LEFT JOIN dem.org d_o ON ( (d_ou.fk_org = d_o.pk) ) ) WHERE (c_pr.fk_hospital_stay IS NULL);
F-Key | Name | Type | Description |
---|
SELECT d_mi.fk_patient AS pk_patient , d_mi.modified_when , d_mi.due_date AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = d_mi.modified_by) ) , ( ('<'::text || (d_mi.modified_by)::text ) || '>'::text ) ) AS modified_by , NULL::text AS soap_cat , ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (_ ('Due today'::text) || ' ('::text) || d_vit.l10n_category ) || ' - '::text ) || d_vit.l10n_type ) || ')'::text ) || ' '::text ) || COALESCE ( ( (' '::text || d_mi.comment) || ' '::text ) ,''::text ) ) || COALESCE ( ( ( ( (' '::text || _ ('Will expire:'::text) ) || ' '::text ) || to_char ( (d_mi.expiry_date)::timestamp with time zone ,'YYYY-MM-DD'::text ) ) || ' '::text ) ,''::text ) ) || ' '::text ) || _ ('Importance:'::text) ) || ' '::text ) || d_mi.importance ) || ' '::text ) || COALESCE ( ( ( ( (' '::text || _ ('Context:'::text) ) || ' '::text ) || array_to_string (d_mi.ufk_context ,','::text ,'?'::text ) ) || ' '::text ) ,''::text ) ) || COALESCE ( ( ( ( (' '::text || _ ('Data:'::text) ) || ' '::text ) || d_mi.data ) || ' '::text ) ,''::text ) ) || COALESCE ( ( ( (' '::text || _ ('Provider:'::text) ) || ' '::text ) || d_st.short_alias ) ,''::text ) ) AS narrative , ( SELECT c_e.pk FROM clin.encounter c_e WHERE (c_e.fk_patient = d_mi.fk_patient) ORDER BY c_e.started DESC LIMIT 1 ) AS pk_encounter , NULL::integer AS pk_episode , NULL::integer AS pk_health_issue , d_mi.pk AS src_pk , 'dem.message_inbox'::text AS src_table , d_mi.row_version , NULL::text AS health_issue , NULL::text AS issue_laterality , NULL::boolean AS issue_active , NULL::boolean AS issue_clinically_relevant , NULL::boolean AS issue_confidential , NULL::text AS episode , NULL::boolean AS episode_open , ( SELECT c_e.started FROM clin.encounter c_e WHERE (c_e.fk_patient = d_mi.fk_patient) ORDER BY c_e.started DESC LIMIT 1 ) AS encounter_started , ( SELECT c_e.last_affirmed FROM clin.encounter c_e WHERE (c_e.fk_patient = d_mi.fk_patient) ORDER BY c_e.started DESC LIMIT 1 ) AS encounter_last_affirmed , NULL::text AS encounter_type , NULL::text AS encounter_l10n_type FROM ( (dem.message_inbox d_mi JOIN dem.v_inbox_item_type d_vit ON ( (d_mi.fk_inbox_item_type = d_vit.pk_type) ) ) LEFT JOIN dem.staff d_st ON ( (d_mi.fk_staff = d_st.pk) ) ) WHERE ( (d_mi.fk_patient IS NOT NULL) AND (d_vit.category = 'clinical'::text) AND (d_mi.due_date IS NOT NULL) ) UNION SELECT d_mi.fk_patient AS pk_patient , d_mi.modified_when , d_mi.expiry_date AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = d_mi.modified_by) ) , ( ('<'::text || (d_mi.modified_by)::text ) || '>'::text ) ) AS modified_by , NULL::text AS soap_cat , ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (_ ('Epires today'::text) || ' ('::text) || d_vit.l10n_category ) || ' - '::text ) || d_vit.l10n_type ) || ')'::text ) || ' '::text ) || COALESCE ( ( (' '::text || d_mi.comment) || ' '::text ) ,''::text ) ) || COALESCE ( ( ( ( (' '::text || _ ('Was due:'::text) ) || ' '::text ) || to_char ( (d_mi.due_date)::timestamp with time zone ,'YYYY-MM-DD'::text ) ) || ' '::text ) ,''::text ) ) || ' '::text ) || _ ('Importance:'::text) ) || ' '::text ) || d_mi.importance ) || ' '::text ) || COALESCE ( ( ( ( (' '::text || _ ('Context:'::text) ) || ' '::text ) || array_to_string (d_mi.ufk_context ,','::text ,'?'::text ) ) || ' '::text ) ,''::text ) ) || COALESCE ( ( ( ( (' '::text || _ ('Data:'::text) ) || ' '::text ) || d_mi.data ) || ' '::text ) ,''::text ) ) || COALESCE ( ( ( (' '::text || _ ('Provider:'::text) ) || ' '::text ) || d_st.short_alias ) ,''::text ) ) AS narrative , ( SELECT c_e.pk FROM clin.encounter c_e WHERE (c_e.fk_patient = d_mi.fk_patient) ORDER BY c_e.started DESC LIMIT 1 ) AS pk_encounter , NULL::integer AS pk_episode , NULL::integer AS pk_health_issue , d_mi.pk AS src_pk , 'dem.message_inbox'::text AS src_table , d_mi.row_version , NULL::text AS health_issue , NULL::text AS issue_laterality , NULL::boolean AS issue_active , NULL::boolean AS issue_clinically_relevant , NULL::boolean AS issue_confidential , NULL::text AS episode , NULL::boolean AS episode_open , ( SELECT c_e.started FROM clin.encounter c_e WHERE (c_e.fk_patient = d_mi.fk_patient) ORDER BY c_e.started DESC LIMIT 1 ) AS encounter_started , ( SELECT c_e.last_affirmed FROM clin.encounter c_e WHERE (c_e.fk_patient = d_mi.fk_patient) ORDER BY c_e.started DESC LIMIT 1 ) AS encounter_last_affirmed , NULL::text AS encounter_type , NULL::text AS encounter_l10n_type FROM ( (dem.message_inbox d_mi JOIN dem.v_inbox_item_type d_vit ON ( (d_mi.fk_inbox_item_type = d_vit.pk_type) ) ) LEFT JOIN dem.staff d_st ON ( (d_mi.fk_staff = d_st.pk) ) ) WHERE ( (d_mi.fk_patient IS NOT NULL) AND (d_vit.category = 'clinical'::text) AND (d_mi.expiry_date IS NOT NULL) ) UNION SELECT d_mi.fk_patient AS pk_patient , d_mi.modified_when , d_mi.modified_when AS clin_when , COALESCE ( ( SELECT staff.short_alias FROM dem.staff WHERE (staff.db_user = d_mi.modified_by) ) , ( ('<'::text || (d_mi.modified_by)::text ) || '>'::text ) ) AS modified_by , NULL::text AS soap_cat , ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (_ ('Clinical reminder'::text) || ' ('::text) || d_vit.l10n_category ) || ' - '::text ) || d_vit.l10n_type ) || ')'::text ) || ' '::text ) || COALESCE ( ( (' '::text || d_mi.comment) || ' '::text ) ,''::text ) ) || COALESCE ( ( ( ( (' '::text || _ ('Due:'::text) ) || ' '::text ) || to_char