Advertisement
temaon_lieto

One more test

Mar 4th, 2024
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. EXPLAIN ANALYSE
  2. WITH "mv_stat_lvl_1_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  3.                                   FROM "mv_stat_lvl_1_patients"
  4.                                   WHERE "mv_stat_lvl_1_patients"."legal_entity_id" = 3228),
  5.      "items" AS (SELECT "mv_stat_lvl_0_ehr_service_requests".*
  6.                  FROM ((SELECT "mv_stat_lvl_0_ehr_service_requests".*
  7.                         FROM ((SELECT mv_stat_lvl_0_ehr_service_requests.id,
  8.                                       mv_stat_lvl_0_ehr_service_requests.asserted_date,
  9.                                       mv_stat_lvl_0_ehr_service_requests.code,
  10.                                       mv_stat_lvl_0_ehr_service_requests.item_type,
  11.                                       mv_stat_lvl_0_ehr_service_requests.status::varchar,
  12.                                       mv_stat_lvl_0_ehr_service_requests.title,
  13.                                       mv_stat_lvl_0_ehr_service_requests.employee_id,
  14.                                       mv_stat_lvl_0_ehr_service_requests.legal_entity_id,
  15.                                       mv_stat_lvl_0_ehr_service_requests.patient_id
  16.                                FROM "mv_stat_lvl_0_ehr_service_requests"
  17.                                WHERE "mv_stat_lvl_0_ehr_service_requests"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  18.                                  AND "mv_stat_lvl_0_ehr_service_requests"."legal_entity_id" = 3228)
  19.                               UNION
  20.                               (SELECT mv_stat_lvl_0_ehr_diagnostic_reports.id,
  21.                                       mv_stat_lvl_0_ehr_diagnostic_reports.asserted_date,
  22.                                       mv_stat_lvl_0_ehr_diagnostic_reports.code,
  23.                                       mv_stat_lvl_0_ehr_diagnostic_reports.item_type,
  24.                                       mv_stat_lvl_0_ehr_diagnostic_reports.status::varchar,
  25.                                       mv_stat_lvl_0_ehr_diagnostic_reports.title,
  26.                                       mv_stat_lvl_0_ehr_diagnostic_reports.employee_id,
  27.                                       mv_stat_lvl_0_ehr_diagnostic_reports.legal_entity_id,
  28.                                       mv_stat_lvl_0_ehr_diagnostic_reports.patient_id
  29.                                FROM "mv_stat_lvl_0_ehr_diagnostic_reports"
  30.                                WHERE "mv_stat_lvl_0_ehr_diagnostic_reports"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  31.                                  AND "mv_stat_lvl_0_ehr_diagnostic_reports"."legal_entity_id" = 3228)) "mv_stat_lvl_0_ehr_service_requests")
  32.                        UNION
  33.                        (SELECT mv_stat_lvl_1_ehr_observations.id,
  34.                                mv_stat_lvl_1_ehr_observations.asserted_date,
  35.                                mv_stat_lvl_1_ehr_observations.code,
  36.                                1                as item_type,
  37.                                'final'::varchar as status,
  38.                                mv_stat_lvl_1_ehr_observations.title,
  39.                                mv_stat_lvl_1_ehr_observations.employee_id,
  40.                                mv_stat_lvl_1_ehr_observations.legal_entity_id,
  41.                                mv_stat_lvl_1_ehr_observations.patient_id
  42.                         FROM "mv_stat_lvl_1_ehr_observations"
  43.                         WHERE "mv_stat_lvl_1_ehr_observations"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  44.                           AND "mv_stat_lvl_1_ehr_observations"."legal_entity_id" = 3228)) "mv_stat_lvl_0_ehr_service_requests"),
  45.      "hypertension_cnt" AS (WITH "mv_stat_lvl_1_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  46.                                                               FROM "mv_stat_lvl_1_patients"
  47.                                                               WHERE "mv_stat_lvl_1_patients"."legal_entity_id" = 3228)
  48.                             SELECT COALESCE(COUNT(DISTINCT mv_stat_lvl_1_declarations.id), 0) as counter,
  49.                                    mv_stat_lvl_1_declarations.employee_id                     as employee_id
  50.                             FROM "mv_stat_lvl_1_declarations"
  51.                                      JOIN mv_stat_lvl_1_patients
  52.                                           ON mv_stat_lvl_1_patients.id = mv_stat_lvl_1_declarations.patient_id
  53.                                      JOIN items
  54.                                           ON items.legal_entity_id = mv_stat_lvl_1_declarations.legal_entity_id AND
  55.                                              items.patient_id = mv_stat_lvl_1_declarations.patient_id
  56.                             WHERE "mv_stat_lvl_1_declarations"."legal_entity_id" = 3228
  57.                               AND "items"."code" IN ('T34006', 'T34011', 'T34013', 'T34024', 'T34001', 'T34004')
  58.                               AND ("mv_stat_lvl_1_patients"."gender" = 0 AND (DATE_PART('YEAR',
  59.                                                                                         AGE('2024-03-04 23:59:59.999999', mv_stat_lvl_1_patients.birth_date)) BETWEEN 50 AND 999) OR
  60.                                    "mv_stat_lvl_1_patients"."gender" = 1 AND (DATE_PART('YEAR',
  61.                                                                                         AGE('2024-03-04 23:59:59.999999', mv_stat_lvl_1_patients.birth_date)) BETWEEN 40 AND 999))
  62.                               AND "items"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  63.                             GROUP BY "mv_stat_lvl_1_declarations"."employee_id"),
  64.      "diabetes_cnt" AS (WITH "mv_stat_lvl_1_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  65.                                                           FROM "mv_stat_lvl_1_patients"
  66.                                                           WHERE "mv_stat_lvl_1_patients"."legal_entity_id" = 3228)
  67.                         SELECT COALESCE(COUNT(DISTINCT mv_stat_lvl_1_declarations.id), 0) as counter,
  68.                                mv_stat_lvl_1_declarations.employee_id                     as employee_id
  69.                         FROM "mv_stat_lvl_1_declarations"
  70.                                  JOIN mv_stat_lvl_1_patients
  71.                                       ON mv_stat_lvl_1_patients.id = mv_stat_lvl_1_declarations.patient_id
  72.                                  JOIN items ON items.legal_entity_id = mv_stat_lvl_1_declarations.legal_entity_id AND
  73.                                                items.patient_id = mv_stat_lvl_1_declarations.patient_id
  74.                         WHERE "mv_stat_lvl_1_declarations"."legal_entity_id" = 3228
  75.                           AND "items"."code" IN ('T34005', 'T34023', 'T34025', 'T34038', '14743-9')
  76.                           AND (DATE_PART('YEAR',
  77.                                          AGE('2024-03-04 23:59:59.999999', mv_stat_lvl_1_patients.birth_date)) BETWEEN 45 AND 999)
  78.                           AND "items"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  79.                         GROUP BY "mv_stat_lvl_1_declarations"."employee_id"),
  80.      "prostate_cancer_cnt" AS (WITH "mv_stat_lvl_1_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  81.                                                                  FROM "mv_stat_lvl_1_patients"
  82.                                                                  WHERE "mv_stat_lvl_1_patients"."legal_entity_id" = 3228)
  83.                                SELECT COALESCE(COUNT(DISTINCT mv_stat_lvl_1_declarations.id), 0) as counter,
  84.                                       mv_stat_lvl_1_declarations.employee_id                     as employee_id
  85.                                FROM "mv_stat_lvl_1_declarations"
  86.                                         JOIN mv_stat_lvl_1_patients
  87.                                              ON mv_stat_lvl_1_patients.id = mv_stat_lvl_1_declarations.patient_id
  88.                                         JOIN items
  89.                                              ON items.legal_entity_id = mv_stat_lvl_1_declarations.legal_entity_id AND
  90.                                                 items.patient_id = mv_stat_lvl_1_declarations.patient_id
  91.                                WHERE "mv_stat_lvl_1_declarations"."legal_entity_id" = 3228
  92.                                  AND "items"."code" IN ('U67002', 'Y34011', 'Y34003')
  93.                                  AND "mv_stat_lvl_1_patients"."gender" = 0
  94.                                  AND (DATE_PART('YEAR',
  95.                                                 AGE('2024-03-04 23:59:59.999999', mv_stat_lvl_1_patients.birth_date)) BETWEEN 40 AND 999)
  96.                                  AND "items"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  97.                                GROUP BY "mv_stat_lvl_1_declarations"."employee_id"),
  98.      "breast_cancer_cnt" AS (WITH "mv_stat_lvl_1_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  99.                                                                FROM "mv_stat_lvl_1_patients"
  100.                                                                WHERE "mv_stat_lvl_1_patients"."legal_entity_id" = 3228)
  101.                              SELECT COALESCE(COUNT(DISTINCT mv_stat_lvl_1_declarations.id), 0) as counter,
  102.                                     mv_stat_lvl_1_declarations.employee_id                     as employee_id
  103.                              FROM "mv_stat_lvl_1_declarations"
  104.                                       JOIN mv_stat_lvl_1_patients
  105.                                            ON mv_stat_lvl_1_patients.id = mv_stat_lvl_1_declarations.patient_id
  106.                                       JOIN items
  107.                                            ON items.legal_entity_id = mv_stat_lvl_1_declarations.legal_entity_id AND
  108.                                               items.patient_id = mv_stat_lvl_1_declarations.patient_id
  109.                              WHERE "mv_stat_lvl_1_declarations"."legal_entity_id" = 3228
  110.                                AND "items"."code" IN ('Х41941', 'X41973', '59300-00', '55070-00', '55076-00')
  111.                                AND "mv_stat_lvl_1_patients"."gender" = 1
  112.                                AND (DATE_PART('YEAR',
  113.                                               AGE('2024-03-04 23:59:59.999999', mv_stat_lvl_1_patients.birth_date)) BETWEEN 59 AND 69)
  114.                                AND "items"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  115.                              GROUP BY "mv_stat_lvl_1_declarations"."employee_id"),
  116.      "colorectal_cancer_cnt" AS (WITH "mv_stat_lvl_1_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  117.                                                                    FROM "mv_stat_lvl_1_patients"
  118.                                                                    WHERE "mv_stat_lvl_1_patients"."legal_entity_id" = 3228)
  119.                                  SELECT COALESCE(COUNT(DISTINCT mv_stat_lvl_1_declarations.id), 0) as counter,
  120.                                         mv_stat_lvl_1_declarations.employee_id                     as employee_id
  121.                                  FROM "mv_stat_lvl_1_declarations"
  122.                                           JOIN mv_stat_lvl_1_patients
  123.                                                ON mv_stat_lvl_1_patients.id = mv_stat_lvl_1_declarations.patient_id
  124.                                           JOIN items
  125.                                                ON items.legal_entity_id = mv_stat_lvl_1_declarations.legal_entity_id AND
  126.                                                   items.patient_id = mv_stat_lvl_1_declarations.patient_id
  127.                                  WHERE "mv_stat_lvl_1_declarations"."legal_entity_id" = 3228
  128.                                    AND "items"."code" IN
  129.                                        ('D36003', 'D67006', '32084-00', '32090-00', '32084-02', '32090-02')
  130.                                    AND "mv_stat_lvl_1_patients"."gender" = 0
  131.                                    AND (DATE_PART('YEAR',
  132.                                                   AGE('2024-03-04 23:59:59.999999', mv_stat_lvl_1_patients.birth_date)) BETWEEN 50 AND 75)
  133.                                    AND "items"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  134.                                  GROUP BY "mv_stat_lvl_1_declarations"."employee_id"),
  135.      "hiv_cnt" AS (WITH "mv_stat_lvl_1_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  136.                                                      FROM "mv_stat_lvl_1_patients"
  137.                                                      WHERE "mv_stat_lvl_1_patients"."legal_entity_id" = 3228)
  138.                    SELECT COALESCE(COUNT(DISTINCT mv_stat_lvl_1_declarations.id), 0) as counter,
  139.                           mv_stat_lvl_1_declarations.employee_id                     as employee_id
  140.                    FROM "mv_stat_lvl_1_declarations"
  141.                             JOIN mv_stat_lvl_1_patients
  142.                                  ON mv_stat_lvl_1_patients.id = mv_stat_lvl_1_declarations.patient_id
  143.                             JOIN items ON items.legal_entity_id = mv_stat_lvl_1_declarations.legal_entity_id AND
  144.                                           items.patient_id = mv_stat_lvl_1_declarations.patient_id
  145.                    WHERE "mv_stat_lvl_1_declarations"."legal_entity_id" = 3228
  146.                      AND "items"."code" IN ('B33006', 'B33012')
  147.                      AND (DATE_PART('YEAR',
  148.                                     AGE('2024-03-04 23:59:59.999999', mv_stat_lvl_1_patients.birth_date)) BETWEEN 14 AND 999)
  149.                      AND "items"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  150.                    GROUP BY "mv_stat_lvl_1_declarations"."employee_id"),
  151.      "visits_from_40_to_64_cnt" AS (WITH "mv_stat_lvl_1_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  152.                                                                       FROM "mv_stat_lvl_1_patients"
  153.                                                                       WHERE "mv_stat_lvl_1_patients"."legal_entity_id" = 3228),
  154.                                          "selected_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  155.                                                                  FROM "mv_stat_lvl_1_patients"
  156.                                                                  WHERE (DATE_PART('YEAR',
  157.                                                                                   AGE('2024-03-04 23:59:59.999999', mv_stat_lvl_1_patients.birth_date)) BETWEEN 40 AND 64)
  158.                                                                    AND "mv_stat_lvl_1_patients"."legal_entity_id" = 3228),
  159.                                          "diagnoses" AS (SELECT "mv_stat_lvl_1_reception_conditions".*
  160.                                                          FROM "mv_stat_lvl_1_reception_conditions"
  161.                                                          WHERE "mv_stat_lvl_1_reception_conditions"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  162.                                                            AND "mv_stat_lvl_1_reception_conditions"."legal_entity_id" = 3228),
  163.                                          "reasons" AS (SELECT "mv_stat_lvl_1_ehr_reasons".*
  164.                                                        FROM "mv_stat_lvl_1_ehr_reasons"
  165.                                                        WHERE "mv_stat_lvl_1_ehr_reasons"."code" = 'A98'
  166.                                                          AND "mv_stat_lvl_1_ehr_reasons"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  167.                                                          AND "mv_stat_lvl_1_ehr_reasons"."legal_entity_id" = 3228),
  168.                                          "diagnoses_c1_counter"
  169.                                              AS (SELECT diagnoses.patient_id, COUNT(DISTINCT diagnoses.code) AS counter
  170.                                                  FROM diagnoses
  171.                                                  GROUP BY "diagnoses"."patient_id"
  172.                                                  HAVING (COUNT(DISTINCT diagnoses.code) > 0)),
  173.                                          "observations" AS (SELECT "mv_stat_lvl_1_ehr_observations".*
  174.                                                             FROM "mv_stat_lvl_1_ehr_observations"
  175.                                                             WHERE "mv_stat_lvl_1_ehr_observations"."legal_entity_id" = 3228
  176.                                                               AND "mv_stat_lvl_1_ehr_observations"."code" IN
  177.                                                                   ('39156-5', '14743-9', '8462-4', '8480-6', '56086-2',
  178.                                                                    '4548-4')
  179.                                                               AND "mv_stat_lvl_1_ehr_observations"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'),
  180.                                          "reports" AS (SELECT mv_stat_lvl_0_ehr_diagnostic_reports.id,
  181.                                                               mv_stat_lvl_0_ehr_diagnostic_reports.asserted_date,
  182.                                                               mv_stat_lvl_0_ehr_diagnostic_reports.code,
  183.                                                               mv_stat_lvl_0_ehr_diagnostic_reports.item_type,
  184.                                                               mv_stat_lvl_0_ehr_diagnostic_reports.status::varchar,
  185.                                                               mv_stat_lvl_0_ehr_diagnostic_reports.title,
  186.                                                               mv_stat_lvl_0_ehr_diagnostic_reports.employee_id,
  187.                                                               mv_stat_lvl_0_ehr_diagnostic_reports.legal_entity_id,
  188.                                                               mv_stat_lvl_0_ehr_diagnostic_reports.patient_id
  189.                                                        FROM "mv_stat_lvl_0_ehr_diagnostic_reports"
  190.                                                        WHERE "mv_stat_lvl_0_ehr_diagnostic_reports"."code" IN
  191.                                                              ('T34001', 'T34006', 'T34024', 'T34011', 'T34013')
  192.                                                          AND "mv_stat_lvl_0_ehr_diagnostic_reports"."legal_entity_id" = 3228
  193.                                                          AND "mv_stat_lvl_0_ehr_diagnostic_reports"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'),
  194.                                          "observations_c1_counter" AS (SELECT observations.patient_id,
  195.                                                                               COUNT(DISTINCT observations.code) AS counter
  196.                                                                        FROM observations
  197.                                                                        WHERE "observations"."code" IN
  198.                                                                              ('39156-5', '14743-9', '8462-4', '8480-6',
  199.                                                                               '56086-2')
  200.                                                                        GROUP BY "observations"."patient_id"
  201.                                                                        HAVING (COUNT(DISTINCT observations.code) >= 4))
  202.                                     SELECT COALESCE(COUNT(DISTINCT mv_stat_lvl_1_declarations.id), 0) as counter,
  203.                                            mv_stat_lvl_1_declarations.employee_id                     as employee_id
  204.                                     FROM "mv_stat_lvl_1_declarations"
  205.                                              JOIN mv_stat_lvl_1_patients
  206.                                                   ON mv_stat_lvl_1_patients.id = mv_stat_lvl_1_declarations.patient_id
  207.                                              LEFT JOIN diagnoses ON mv_stat_lvl_1_declarations.patient_id =
  208.                                                                     diagnoses.patient_id AND diagnoses.code = 'A98'
  209.                                              JOIN diagnoses_c1_counter ON mv_stat_lvl_1_declarations.patient_id =
  210.                                                                           diagnoses_c1_counter.patient_id AND
  211.                                                                           diagnoses_c1_counter.counter > 0
  212.                                              LEFT JOIN reasons ON reasons.patient_id = mv_stat_lvl_1_declarations.patient_id
  213.                                              JOIN reports ON reports.patient_id = mv_stat_lvl_1_declarations.patient_id
  214.                                              LEFT JOIN observations_c1_counter ON observations_c1_counter.patient_id =
  215.                                                                                   mv_stat_lvl_1_declarations.patient_id
  216.                                     WHERE "mv_stat_lvl_1_declarations"."legal_entity_id" = 3228
  217.                                       AND ((diagnoses.code = 'A98' OR reasons.code = 'A98') AND
  218.                                            (diagnoses_c1_counter.counter > 0 AND observations_c1_counter.counter > 0))
  219.                                     GROUP BY "mv_stat_lvl_1_declarations"."employee_id"),
  220.      "visits_upper_65_cnt" AS (WITH "mv_stat_lvl_1_patients" AS (SELECT "mv_stat_lvl_1_patients".*
  221.                                                                  FROM "mv_stat_lvl_1_patients"
  222.                                                                  WHERE "mv_stat_lvl_1_patients"."legal_entity_id" = 3228),
  223.                                     "patients" AS (SELECT "mv_stat_lvl_1_patients".*
  224.                                                    FROM "mv_stat_lvl_1_patients"
  225.                                                    WHERE (DATE_PART('YEAR',
  226.                                                                     AGE('2024-03-04 23:59:59.999999', mv_stat_lvl_1_patients.birth_date)) BETWEEN 65 AND 999)
  227.                                                      AND "mv_stat_lvl_1_patients"."legal_entity_id" = 3228),
  228.                                     "diagnoses" AS (SELECT "mv_stat_lvl_1_reception_conditions".*
  229.                                                     FROM "mv_stat_lvl_1_reception_conditions"
  230.                                                     WHERE "mv_stat_lvl_1_reception_conditions"."code" IN
  231.                                                           ('K86', 'K87', 'K76', 'K74', 'T89', 'T90', 'A98')
  232.                                                       AND "mv_stat_lvl_1_reception_conditions"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  233.                                                       AND "mv_stat_lvl_1_reception_conditions"."legal_entity_id" = 3228),
  234.                                     "reasons" AS (SELECT "mv_stat_lvl_1_ehr_reasons".*
  235.                                                   FROM "mv_stat_lvl_1_ehr_reasons"
  236.                                                   WHERE "mv_stat_lvl_1_ehr_reasons"."code" = 'A98'
  237.                                                     AND "mv_stat_lvl_1_ehr_reasons"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'
  238.                                                     AND "mv_stat_lvl_1_ehr_reasons"."legal_entity_id" = 3228),
  239.                                     "observations" AS (SELECT "mv_stat_lvl_1_ehr_observations".*
  240.                                                        FROM "mv_stat_lvl_1_ehr_observations"
  241.                                                        WHERE "mv_stat_lvl_1_ehr_observations"."legal_entity_id" = 3228
  242.                                                          AND "mv_stat_lvl_1_ehr_observations"."code" IN
  243.                                                              ('39156-5', '14743-9', '8462-4', '8480-6', '56086-2',
  244.                                                               '4548-4')
  245.                                                          AND "mv_stat_lvl_1_ehr_observations"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'),
  246.                                     "actions" AS (SELECT "mv_stat_lvl_1_ehr_actions".*
  247.                                                   FROM "mv_stat_lvl_1_ehr_actions"
  248.                                                   WHERE "mv_stat_lvl_1_ehr_actions"."code" IN ('K45', 'D45', 'T45')
  249.                                                     AND "mv_stat_lvl_1_ehr_actions"."legal_entity_id" = 3228
  250.                                                     AND "mv_stat_lvl_1_ehr_actions"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'),
  251.                                     "reports" AS (SELECT mv_stat_lvl_0_ehr_diagnostic_reports.id,
  252.                                                          mv_stat_lvl_0_ehr_diagnostic_reports.asserted_date,
  253.                                                          mv_stat_lvl_0_ehr_diagnostic_reports.code,
  254.                                                          mv_stat_lvl_0_ehr_diagnostic_reports.item_type,
  255.                                                          mv_stat_lvl_0_ehr_diagnostic_reports.status::varchar,
  256.                                                          mv_stat_lvl_0_ehr_diagnostic_reports.title,
  257.                                                          mv_stat_lvl_0_ehr_diagnostic_reports.employee_id,
  258.                                                          mv_stat_lvl_0_ehr_diagnostic_reports.legal_entity_id,
  259.                                                          mv_stat_lvl_0_ehr_diagnostic_reports.patient_id
  260.                                                   FROM "mv_stat_lvl_0_ehr_diagnostic_reports"
  261.                                                   WHERE "mv_stat_lvl_0_ehr_diagnostic_reports"."code" IN
  262.                                                         ('T34001', 'T34006', 'T34024', 'T34011', 'T34013')
  263.                                                     AND "mv_stat_lvl_0_ehr_diagnostic_reports"."legal_entity_id" = 3228
  264.                                                     AND "mv_stat_lvl_0_ehr_diagnostic_reports"."asserted_date" BETWEEN '2024-01-01 00:00:00' AND '2024-03-04 23:59:59.999999'),
  265.                                     "diagnoses_c1_counter"
  266.                                         AS (SELECT diagnoses.patient_id, COUNT(DISTINCT diagnoses.code) AS counter
  267.                                             FROM diagnoses
  268.                                             WHERE "diagnoses"."code" IN ('K86', 'K87')
  269.                                             GROUP BY "diagnoses"."patient_id"
  270.                                             HAVING (COUNT(DISTINCT diagnoses.code) > 0)),
  271.                                     "diagnoses_c2_counter"
  272.                                         AS (SELECT diagnoses.patient_id, COUNT(DISTINCT diagnoses.code) AS counter
  273.                                             FROM diagnoses
  274.                                             WHERE "diagnoses"."code" IN ('K76', 'K74')
  275.                                             GROUP BY "diagnoses"."patient_id"
  276.                                             HAVING (COUNT(DISTINCT diagnoses.code) > 0)),
  277.                                     "diagnoses_c3_counter"
  278.                                         AS (SELECT diagnoses.patient_id, COUNT(DISTINCT diagnoses.code) AS counter
  279.                                             FROM diagnoses
  280.                                             WHERE "diagnoses"."code" IN ('T89', 'T90')
  281.                                             GROUP BY "diagnoses"."patient_id"
  282.                                             HAVING (COUNT(DISTINCT diagnoses.code) > 0)),
  283.                                     "observations_c1_counter" AS (SELECT observations.patient_id,
  284.                                                                          COUNT(DISTINCT observations.code) AS counter
  285.                                                                   FROM observations
  286.                                                                   WHERE "observations"."code" IN ('39156-5', '14743-9', '8462-4', '8480-6')
  287.                                                                   GROUP BY "observations"."patient_id"
  288.                                                                   HAVING (COUNT(DISTINCT observations.code) >= 4)),
  289.                                     "observations_c2_counter" AS (SELECT observations.patient_id,
  290.                                                                          COUNT(DISTINCT observations.code) AS counter
  291.                                                                   FROM observations
  292.                                                                   WHERE "observations"."code" IN
  293.                                                                         ('39156-5', '14743-9', '8462-4', '8480-6',
  294.                                                                          '56086-2')
  295.                                                                   GROUP BY "observations"."patient_id"
  296.                                                                   HAVING (COUNT(DISTINCT observations.code) >= 5))
  297.                                SELECT COALESCE(COUNT(DISTINCT mv_stat_lvl_1_declarations.id), 0) as counter,
  298.                                       mv_stat_lvl_1_declarations.employee_id                     as employee_id
  299.                                FROM "mv_stat_lvl_1_declarations"
  300.                                         JOIN mv_stat_lvl_1_patients
  301.                                              ON mv_stat_lvl_1_patients.id = mv_stat_lvl_1_declarations.patient_id
  302.                                         INNER JOIN diagnoses
  303.                                                    ON mv_stat_lvl_1_declarations.patient_id = diagnoses.patient_id
  304.                                         LEFT JOIN diagnoses_c1_counter
  305.                                                   ON mv_stat_lvl_1_declarations.patient_id = diagnoses_c1_counter.patient_id
  306.                                         LEFT JOIN diagnoses_c2_counter
  307.                                                   ON mv_stat_lvl_1_declarations.patient_id = diagnoses_c2_counter.patient_id
  308.                                         LEFT JOIN diagnoses_c3_counter
  309.                                                   ON mv_stat_lvl_1_declarations.patient_id = diagnoses_c3_counter.patient_id
  310.                                         LEFT JOIN reasons ON reasons.patient_id = mv_stat_lvl_1_declarations.patient_id
  311.                                         JOIN actions ON actions.patient_id = mv_stat_lvl_1_declarations.patient_id
  312.                                         JOIN reports ON reports.patient_id = mv_stat_lvl_1_declarations.patient_id
  313.                                         LEFT JOIN observations_c1_counter ON observations_c1_counter.patient_id =
  314.                                                                              mv_stat_lvl_1_declarations.patient_id
  315.                                         LEFT JOIN observations_c2_counter ON observations_c2_counter.patient_id =
  316.                                                                              mv_stat_lvl_1_declarations.patient_id
  317.                                WHERE "mv_stat_lvl_1_declarations"."legal_entity_id" = 3228
  318.                                  AND ((diagnoses.code = 'A98' OR reasons.code = 'A98') AND
  319.                                       (((diagnoses_c1_counter.counter > 0 OR diagnoses_c2_counter.counter > 0) AND
  320.                                         observations_c1_counter.counter > 0) OR
  321.                                        (diagnoses_c3_counter.counter > 0 AND observations_c2_counter.counter > 0)))
  322.                                GROUP BY "mv_stat_lvl_1_declarations"."employee_id")
  323. SELECT COALESCE(MAX(hypertension_cnt.counter), 0)         as hypertension_counter,
  324.        COALESCE(MAX(diabetes_cnt.counter), 0)             as diabetes_counter,
  325.        COALESCE(MAX(prostate_cancer_cnt.counter), 0)      as prostate_cancer_counter,
  326.        COALESCE(MAX(breast_cancer_cnt.counter), 0)        as breast_cancer_counter,
  327.        COALESCE(MAX(colorectal_cancer_cnt.counter), 0)    as colorectal_cancer_counter,
  328.        COALESCE(MAX(hiv_cnt.counter), 0)                  as hiv_counter,
  329.        COALESCE(MAX(visits_from_40_to_64_cnt.counter), 0) as visits_from_40_to_64_counter,
  330.        COALESCE(MAX(visits_upper_65_cnt.counter), 0)      as visits_upper_65_counter,
  331.        mv_stat_lvl_0_employees.position_ref_id,
  332.        mv_stat_lvl_0_employees.full_name,
  333.        mv_stat_lvl_0_employees.id
  334. FROM "mv_stat_lvl_0_employees"
  335.          LEFT JOIN hypertension_cnt ON mv_stat_lvl_0_employees.id = hypertension_cnt.employee_id
  336.          LEFT JOIN diabetes_cnt ON mv_stat_lvl_0_employees.id = diabetes_cnt.employee_id
  337.          LEFT JOIN prostate_cancer_cnt ON mv_stat_lvl_0_employees.id = prostate_cancer_cnt.employee_id
  338.          LEFT JOIN breast_cancer_cnt ON mv_stat_lvl_0_employees.id = breast_cancer_cnt.employee_id
  339.          LEFT JOIN colorectal_cancer_cnt ON mv_stat_lvl_0_employees.id = colorectal_cancer_cnt.employee_id
  340.          LEFT JOIN hiv_cnt ON mv_stat_lvl_0_employees.id = hiv_cnt.employee_id
  341.          LEFT JOIN visits_from_40_to_64_cnt ON mv_stat_lvl_0_employees.id = visits_from_40_to_64_cnt.employee_id
  342.          LEFT JOIN visits_upper_65_cnt ON mv_stat_lvl_0_employees.id = visits_from_40_to_64_cnt.employee_id
  343. WHERE "mv_stat_lvl_0_employees"."employee_type_ref_value" = 'DOCTOR'
  344.   AND "mv_stat_lvl_0_employees"."legal_entity_id" = 3228
  345. GROUP BY mv_stat_lvl_0_employees.id, mv_stat_lvl_0_employees.position_ref_id, mv_stat_lvl_0_employees.full_name
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement