From 270cacfa558d26146bf4a9fd964c617500f3b684 Mon Sep 17 00:00:00 2001 From: MEGIN Date: Tue, 13 Aug 2024 12:04:30 +0530 Subject: [PATCH] feat: update dashboard mermaid for scoring engine count #244 --- .../lib/techbd-udi-jooq-ingress.auto.jar | Bin 370952 -> 371698 bytes hub-prime/pom.xml | 2 +- .../http/hub/prime/ux/PrimeController.java | 17 +++++++++++++++++ .../main/resources/templates/page/home.html | 11 ++++++++++- .../001_idempotent_interaction.psql | 5 +++++ 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/hub-prime/lib/techbd-udi-jooq-ingress.auto.jar b/hub-prime/lib/techbd-udi-jooq-ingress.auto.jar index a37ccd8dd5fc90c801970196f0b34ce036cdfc4e..a27a427549e861547b85c1fd33e5bc825cd5a8ba 100644 GIT binary patch delta 18996 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 B9uWWl diff --git a/hub-prime/pom.xml b/hub-prime/pom.xml index 9208bff69e2..251fccd799c 100644 --- a/hub-prime/pom.xml +++ b/hub-prime/pom.xml @@ -11,7 +11,7 @@ org.techbd hub-prime - 0.161.0 + 0.162.0 war TechBD Hub (Prime) TechBD Hub (Primary) diff --git a/hub-prime/src/main/java/org/techbd/service/http/hub/prime/ux/PrimeController.java b/hub-prime/src/main/java/org/techbd/service/http/hub/prime/ux/PrimeController.java index 6b1307dd86f..f5fae1cf5f9 100644 --- a/hub-prime/src/main/java/org/techbd/service/http/hub/prime/ux/PrimeController.java +++ b/hub-prime/src/main/java/org/techbd/service/http/hub/prime/ux/PrimeController.java @@ -288,6 +288,17 @@ public ResponseEntity> fetchFHIRSMermaidDiagram(Model mode getSafeIntegerValue(data.get("grrhio_total_submissions")))); interactions.add(new InteractionData("hixny_total_submissions", getSafeIntegerValue(data.get("hixny_total_submissions")))); + + interactions.add(new InteractionData("healthelink_scoring_engine_submission_passed", + getSafeIntegerValue(data.get("healthelink_scoring_engine_submission_passed")))); + interactions.add(new InteractionData("healtheconnections_scoring_engine_submission_passed", + getSafeIntegerValue(data.get("healtheconnections_scoring_engine_submission_passed")))); + interactions.add(new InteractionData("healthix_scoring_engine_submission_passed", + getSafeIntegerValue(data.get("healthix_scoring_engine_submission_passed")))); + interactions.add(new InteractionData("grrhio_scoring_engine_submission_passed", + getSafeIntegerValue(data.get("grrhio_scoring_engine_submission_passed")))); + interactions.add(new InteractionData("hixny_scoring_engine_submission_passed", + getSafeIntegerValue(data.get("hixny_scoring_engine_submission_passed")))); } else { // Default values if no data found interactions.add(new InteractionData("total_cross_roads_scn", 0)); @@ -300,6 +311,12 @@ public ResponseEntity> fetchFHIRSMermaidDiagram(Model mode interactions.add(new InteractionData("grrhio_total_submissions", 0)); interactions.add(new InteractionData("hixny_total_submissions", 0)); + interactions.add(new InteractionData("healthelink_scoring_engine_submission_passed", 0)); + interactions.add(new InteractionData("healtheconnections_scoring_engine_submission_passed", 0)); + interactions.add(new InteractionData("healthix_scoring_engine_submission_passed", 0)); + interactions.add(new InteractionData("grrhio_scoring_engine_submission_passed", 0)); + interactions.add(new InteractionData("hixny_scoring_engine_submission_passed", 0)); + } // Return the data with HTTP status OK diff --git a/hub-prime/src/main/resources/templates/page/home.html b/hub-prime/src/main/resources/templates/page/home.html index ebc910805ba..c18a5e9b5d6 100644 --- a/hub-prime/src/main/resources/templates/page/home.html +++ b/hub-prime/src/main/resources/templates/page/home.html @@ -223,6 +223,11 @@

Production (flat files)

const healthix = getCountByLabel('healthix_total_submissions'); const grrhio = getCountByLabel('grrhio_total_submissions'); const hixny = getCountByLabel('hixny_total_submissions'); + const healthelink_scoring_engine_submission_passed = getCountByLabel('healthelink_scoring_engine_submission_passed'); + const healtheconnections_scoring_engine_submission_passed = getCountByLabel('healtheconnections_scoring_engine_submission_passed'); + const healthix_scoring_engine_submission_passed = getCountByLabel('healthix_scoring_engine_submission_passed'); + const grrhio_scoring_engine_submission_passed = getCountByLabel('grrhio_scoring_engine_submission_passed'); + const hixny_scoring_engine_submission_passed = getCountByLabel('hixny_scoring_engine_submission_passed'); // Construct Mermaid diagram code with fetched data const mermaidCode = ` @@ -241,7 +246,11 @@

Production (flat files)

QE ->> TechBD: Rochester Proxy FHIR JSON (${grrhio}) QE ->> TechBD: HixNY Proxy FHIR JSON (${hixny}) TechBD ->> TechBD: Validate and Store FHIR JSON (${qeTotalSubmissions}) - TechBD ->> ScoringEngine: Proxy Validated FHIR JSON (${scoringEngineSubmissionPassed}) + TechBD ->> ScoringEngine: HEALTHeLINK Proxy Validated FHIR JSON (${healthelink_scoring_engine_submission_passed}) + TechBD ->> ScoringEngine: Healtheconnections Proxy Validated FHIR JSON (${healtheconnections_scoring_engine_submission_passed}) + TechBD ->> ScoringEngine: Healthix Proxy Validated FHIR JSON (${healthix_scoring_engine_submission_passed}) + TechBD ->> ScoringEngine: Rochester Proxy Validated FHIR JSON (${grrhio_scoring_engine_submission_passed}) + TechBD ->> ScoringEngine: HixNY Proxy Validated FHIR JSON (${hixny_scoring_engine_submission_passed}) ScoringEngine ->> SHINNY: Submit to Data lake SHINNY ->> MDW: Submit to MDW `; diff --git a/udi-prime/src/main/postgres/ingestion-center/001_idempotent_interaction.psql b/udi-prime/src/main/postgres/ingestion-center/001_idempotent_interaction.psql index 00a65b19e07..abceed9ff26 100644 --- a/udi-prime/src/main/postgres/ingestion-center/001_idempotent_interaction.psql +++ b/udi-prime/src/main/postgres/ingestion-center/001_idempotent_interaction.psql @@ -1147,6 +1147,11 @@ SELECT SUM(CASE WHEN qe_name = 'hixny' THEN qe_total_submissions ELSE 0 END) AS hixny_total_submissions, SUM(techbd_total_submissions) AS total_techbd_total_submissions, SUM(total_scoring_engine_submissions) AS total_total_scoring_engine_submissions, + SUM(CASE WHEN qe_name = 'healthelink' THEN scoring_engine_submission_passed ELSE 0 END) AS healthelink_scoring_engine_submission_passed, + SUM(CASE WHEN qe_name = 'healtheconn' THEN scoring_engine_submission_passed ELSE 0 END) AS healtheconnections_scoring_engine_submission_passed, + SUM(CASE WHEN qe_name = 'healthix' THEN scoring_engine_submission_passed ELSE 0 END) AS healthix_scoring_engine_submission_passed, + SUM(CASE WHEN qe_name = 'grrhio' THEN scoring_engine_submission_passed ELSE 0 END) AS grrhio_scoring_engine_submission_passed, + SUM(CASE WHEN qe_name = 'hixny' THEN scoring_engine_submission_passed ELSE 0 END) AS hixny_scoring_engine_submission_passed, SUM(scoring_engine_submission_passed) AS total_scoring_engine_submission_passed FROM combined_counts