return: text lang: plpgsql src: | DECLARE result TEXT; BEGIN -- Géographie INSERT INTO base.t_regions(oid, code, texte, texte_court) SELECT 0, chr(127) || '**', 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM base.t_regions); INSERT INTO base.t_departements(oid, code, texte, texte_court) SELECT 0, chr(127) || '**', 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM base.t_departements); INSERT INTO base.t_territoires_sante(oid, code, texte, texte_court) SELECT 0, chr(127) || '*******', 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM base.t_territoires_sante); INSERT INTO base.t_codes_geographiques_pmsi(oid, code, texte, texte_court, population, departement_id, territoire_sante_id) SELECT 0, chr(127) || '*****', 'Non renseigné', 'Non renseigné', 0, 0, 0 WHERE 0 NOT IN (SELECT oid FROM base.t_codes_geographiques_pmsi WHERE oid = 0); INSERT INTO base.t_codes_postaux(oid, code, texte, texte_court, secteur_geographique_id, population, code_geographique_pmsi, longitude, latitude, departement_id, territoire_sante_id) SELECT 0, chr(127) || '*****', 'Non renseigné', 'Non renseigné', 0, 0, '', 0, 0, 0, 0 WHERE 0 NOT IN (SELECT oid FROM base.t_codes_postaux); -- Médecins INSERT INTO base.t_specialites_medecin (oid, code, texte) SELECT 0, chr(127) || '**', 'Non saisie' WHERE 0 NOT IN (SELECT oid FROM base.t_specialites_medecin); INSERT INTO base.t_medecins (oid, code, nom, specialite_id) SELECT 0, chr(127) || '******', 'Non saisi', 0 WHERE 0 NOT IN (SELECT oid FROM base.t_medecins); -- GHM INSERT INTO base.t_cmd(oid, code, texte, texte_court) SELECT 0, chr(127) || '*', 'Hors PMSI', 'Hors PMSI' WHERE 0 NOT IN (SELECT oid FROM base.t_cmd); INSERT INTO base.t_poles_oap(oid, code, texte, texte_court) SELECT 0, chr(127) || '**', 'Hors PMSI', 'Hors PMSI' WHERE 0 NOT IN (SELECT oid FROM base.t_poles_oap); INSERT INTO base.t_lignes_oap(oid, code, texte, pole_oap_id, mco) SELECT 0, chr(127) || '****', 'Hors PMSI', 0, '*' WHERE 0 NOT IN (SELECT oid FROM base.t_lignes_oap); INSERT INTO base.t_cas(oid, code, texte, texte_court) SELECT 0, chr(127), 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM base.t_cas); INSERT INTO base.t_ipa(oid, code, texte, texte_court, categorie_oid, categorie_code, categorie_texte, categorie_texte_court) SELECT 0, chr(127) || '**', 'Non renseigné', 'Non renseigné', 0, chr(127), 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM base.t_ipa); INSERT INTO base.t_ghm5 (oid, code, texte) SELECT 0, chr(127) || '****', 'Hors PMSI' WHERE 0 NOT IN (SELECT oid FROM base.t_ghm5); INSERT INTO base.t_ghm (oid, code, texte, ghm3, mco, aso, severite, statut, cmd_id, groupe_activite_id, ghm5_id, ligne_oap_id, cas_id) SELECT 0, chr(127) || '*****', 'Hors PMSI', '*', '*', '*', '*', 'I', 0, 0, 0, 0, (SELECT oid FROM base.t_cas WHERE code = '*') WHERE 0 NOT IN (SELECT oid FROM base.t_ghm); INSERT INTO base.t_ghs (oid, code, texte, ghm_id, borne_basse, borne_haute, dms_nationale) SELECT 0, 0, 'Sans GHS', 0, 0, 0, 0 WHERE 0 NOT IN (SELECT oid FROM base.t_ghs); -- GME INSERT INTO base.t_gn (oid, code, texte) SELECT 0, chr(127) || '****'::text, 'Non renseigné'::text WHERE 0 NOT IN (SELECT oid FROM base.t_gn); INSERT INTO base.t_cm (oid, code, texte) SELECT 0, chr(127) || '**'::text, 'Non renseigné'::text WHERE 0 NOT IN (SELECT oid FROM base.t_cm); INSERT INTO base.t_rgme (oid, code, texte) SELECT 0, chr(127) || '*****'::text, 'Non renseigné'::text WHERE 0 NOT IN (SELECT oid FROM base.t_rgme); INSERT INTO base.t_gme (oid, code, texte, cm_id, gn_id, rgme_id) SELECT 0, chr(127) || '******'::text, 'Non renseigné'::text, 0, 0, 0 WHERE 0 NOT IN (SELECT oid FROM base.t_gme); -- Actes INSERT INTO base.t_actes (oid, code, texte, texte_court) SELECT 0, '*******', 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM base.t_actes); -- Regroupements CCAM INSERT INTO base.t_ccam_regroupements (oid) SELECT 0 WHERE 0 NOT IN (SELECT oid FROM base.t_ccam_regroupements); -- Modes de traitement INSERT INTO base.t_modes_traitement (oid, code, code_original, texte, texte_court) SELECT 0, '**', '', 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM base.t_modes_traitement); -- Activités INSERT INTO activite.t_activites(oid, code_original, texte, texte_court, code, etage_par_defaut_id, etage_force_id) SELECT 0, '0', 'Non renseigné', 'Non renseigné', '', 0, 0 WHERE 0 NOT IN (SELECT oid FROM activite.t_activites); -- Etages INSERT INTO activite.t_etages(oid, code_original, texte, texte_court, nb_lits, code, section_id, section_code, section_texte) SELECT 0, '0', 'Non renseigné', 'Non renseigné', 0, '', array[0::bigint, 0::bigint, 0::bigint], array[chr(127) || '***'::text, chr(127) || '***'::text, chr(127) || '***'::text], array['Autres'::text, 'Autres'::text, 'Autres'::text] WHERE 0 NOT IN (SELECT oid FROM activite.t_etages); -- Lieux INSERT INTO activite.t_lieux(oid) SELECT 0 WHERE 0 NOT IN (SELECT oid FROM activite.t_lieux); -- Lits INSERT INTO activite.t_lits (oid, texte, texte_court, etage_id, code, chambre_particuliere) SELECT 0, 'Non renseigné', 'Non renseigné', 0, '*', 'N' WHERE 0 NOT IN (SELECT oid FROM activite.t_lits); -- Médecins administratifs INSERT INTO activite.t_medecins_administratifs (oid, code, code_original, nom, prenom, specialite_id, medecin_id, est_medecin_salarie) SELECT 0, '****', '0', 'Non renseigné', '', 0, 0, 0 WHERE 0 NOT IN (SELECT oid FROM activite.t_medecins_administratifs); -- Places INSERT INTO activite.t_places_parents (oid, parent_code, parent_texte, parent_type) SELECT 0, '', 'Non renseigné', 'ETA' WHERE 0 NOT IN (SELECT oid FROM activite.t_places_parents); -- Prestations INSERT INTO activite.t_prestations (oid, code_original, texte, texte_court, code) SELECT 0, '0', 'Non renseigné', 'Non renseigné', '***' WHERE 0 NOT IN (SELECT oid FROM activite.t_prestations); UPDATE activite.t_prestations SET code = '***' WHERE oid = 0 AND '***' NOT IN (SELECT code FROM activite.t_prestations WHERE code = '***'); -- Protocoles INSERT INTO activite.t_protocoles (oid, code_original, texte, texte_court, code) SELECT 0, '0', 'Non renseigné', 'Non renseigné', '***' WHERE 0 NOT IN (SELECT oid FROM activite.t_protocoles); -- Rubriques facturation INSERT INTO activite.t_rubriques_facturation (oid, code_original, texte, texte_court, code, actes_inclus_public) SELECT 0, '0', 'Non renseigné', 'Non renseigné', '', '0' WHERE 0 NOT IN (SELECT oid FROM activite.t_rubriques_facturation); -- Services de facturation INSERT INTO activite.t_services_facturation (oid, code_original, texte, texte_court, code, nb_lits) SELECT 0, '0', 'Non renseigné', 'Non renseigné', '', 0 WHERE 0 NOT IN (SELECT oid FROM activite.t_services_facturation); -- Spécialités médecin INSERT INTO activite.t_specialites_medecin (oid, code_original, texte, texte_court, code) SELECT 0, '0', 'Non saisie', 'Non saisie', '' WHERE 0 NOT IN (SELECT oid FROM activite.t_specialites_medecin); -- Tiers payant INSERT INTO activite.t_tiers_payant (oid, code, code_original, texte, texte_court, type_tiers_payant) SELECT 0, '', '', 'Non saisi', 'Non saisi', '0' WHERE 0 NOT IN (SELECT oid FROM activite.t_tiers_payant); -- Unités fonctionnelles INSERT INTO activite.t_unites_fonctionnelles (oid, code, code_original, texte, texte_court) SELECT 0, '', '0', 'Non renseignée', 'Non renseignée' WHERE 0 NOT IN (SELECT oid FROM activite.t_unites_fonctionnelles); -- Unités médicales INSERT INTO activite.t_unites_medicales (oid, code, code_original, texte, texte_court) SELECT 0, '', '0', 'Non renseignée', 'Non renseignée' WHERE 0 NOT IN (SELECT oid FROM activite.t_unites_medicales); -- Formes d'activité INSERT INTO activite.t_forme_activite (oid, code, texte, texte_court) SELECT 0, '**', 'Non renseignée', 'Non renseignée' WHERE 0 NOT IN (SELECT oid FROM activite.t_forme_activite); -- Codes risque INSERT INTO activite.t_risque (oid, code, texte) SELECT 0, '**', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM activite.t_risque); -- Motifs de non facturation INSERT INTO activite.t_motif_non_facturation(oid, code_original, code, texte, texte_court) SELECT 0, 0, '', 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECt oid FROM activite.t_motif_non_facturation) ; INSERT INTO activite.t_motif_non_facturation(code_original, code, texte, texte_court) SELECT '*CTIZZZ', '*AUTRES', 'Autres', 'Autres' WHERE '*CTIZZZ' NOT IN (SELECT code_original FROM activite.t_motif_non_facturation) ; INSERT INTO activite.t_motif_non_facturation(code_original, code, texte, texte_court) SELECT '*CTING', '*NG', 'Non groupé', 'Non groupé' WHERE '*CTING' NOT IN (SELECT code_original FROM activite.t_motif_non_facturation) ; -- Liste des tables pour installation après version INSERT INTO activite.t_listes_tables (code, name, texte, select_cmd) SELECT 'FORMEACTIVITE', 't_forme_activite', 'Formes d''activité', 'SELECT oid, code, texte, ''''::text as complement, CASE WHEN oid in (SELECT oid FROM activite.p_oids WHERE code_table IN (''forme_activite'')) THEN ''O'' ELSE ''N'' END as utilise FROM activite.t_forme_activite ORDER BY 2' WHERE 'FORMEACTIVITE' NOT IN (SELECT code FROM activite.t_listes_tables WHERE code IS NOT NULL) ; WITH subview AS (SELECT 'FORMEACTIVITE'::text AS code, 't_forme_activite'::text AS name, 'Formes d''activité'::text AS texte, 'SELECT oid, code, texte, ''''::text as complement, CASE WHEN oid in (SELECT oid FROM activite.p_oids WHERE code_table IN (''forme_activite'')) THEN ''O'' ELSE ''N'' END as utilise FROM activite.t_forme_activite ORDER BY 2'::text AS select_cmd ) UPDATE activite.t_listes_tables SET name = subview.name, texte = subview.texte, select_cmd = subview.select_cmd FROM subview WHERE t_listes_tables.code = subview.code AND ( t_listes_tables.name IS DISTINCT FROM subview.name OR t_listes_tables.texte IS DISTINCT FROM subview.texte OR t_listes_tables.select_cmd IS DISTINCT FROM subview.select_cmd ) ; RETURN 'OK'; END;