Bonjour,
dans le cadre d'un hopital je dois attribuer une spécialité principale a un séjour d'hospitalisation, l'un de mes critères est d'aller rechercher l'acte le plus lourd facturé pour ce séjour, actuellement voici la manière dont j'effectue le query.
j'utilise de plus en plus les fonctions analytiques mais je voudrais une confirmation quand a l'utilisation que j'en fais dans ce cadre.
pour synthétiser j'ai une table admission avec tous les séjours hospitaliers que je dois classifier, et une table facturation dans laquelle je peux retrouver mes prestations facturées.
Le moyen de retrouver pour moi l'acte le plus est que chaque acte a un code lettre et un coefficient, je ne reprend que les codes lettres K et N, avec en premier choix le N, et le coefficient est un nombre qui plus il est haut plus il est important.
actuellement je fais ceci, cela vous parait il correct?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 update admission ref set (ref.categorie_prestation, ref.prestation, ref.code_lettre, ref.coefficient) = (select first_value(a.categorie_prestation)over(partition by a.numero_sejour_hospitalier order by code_lettre desc,coefficient_prestation desc) categorie_prestation, first_value(a.prestation)over(partition by a.numero_sejour_hospitalier order by code_lettre desc,coefficient_prestation desc) prestation, first_value(a.code_lettre)over(partition by a.numero_sejour_hospitalier order by code_lettre desc,coefficient_prestation desc) code_lettre, first_value(a.coefficient)over(partition by a.numero_sejour_hospitalier order by code_lettre desc,coefficient_prestation desc) coefficient from facturation a where a.numero_sejour_hospitalier = ref.numero_sejour_hospitalier and a.code_lettre in ('K','N'))
Partager