From 65c4147e83b5625722a4283beeacabd17bc8b159 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Fri, 25 Oct 2024 10:34:09 -0400 Subject: [PATCH 01/35] initial structure --- src/app/our-products/page.tsx | 298 ++++++++++++++++++++++++++++++++-- 1 file changed, 281 insertions(+), 17 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 0ac25cb..5377615 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -1,23 +1,287 @@ -import Link from 'next/link'; +import { Button, Grid, GridContainer } from '@trussworks/react-uswds'; +import Image from 'next/image'; +import { basePath } from '../utils/constants'; -export default function ProductDetail() { +export default function OurProducts() { return (
-

Our Products

- +
+ +
+

Our ecosystem of DIBBs products

+

+ Find out how DIBBs products can help empower your jurisdiction +

+
+
+
+
+ +

Standalone Products

+ + + Placeholder +
+

eCR Viewer

+

+ Graphic headings can be used a few different ways, depending + on what your landing page is for. Highlight your values, + specific program areas, or results. +

+ +
+
+ + Placeholder +
+

Query Connector

+

+ Allows public health staff to query a wide network of + healthcare organizations for data relevant to a given + condition. It gives staff access to more complete and timely + data without the need for a direct connection to a healthcare + provider. +

+ +
+
+
+ + + Placeholder +
+

eCR Parser

+

+ Enables public health staff to extract relevant data from eCR + messages based on a user-defined parsing schema. It exports + that data into a simple JSON file that can be easily loaded + into a tabular format (like a spreadsheet). +

+ +
+
+ + Placeholder +
+

eCR Refiner

+

+ Reduces eCR files down to only the most useful, necessary + information to alleviate performance and storage burden on + disease surveillance systems and bring focus to pertinent data + for a given condition. +

+ +
+
+
+
+
+
+ + + Placeholder +

DIBBs to support the entire data pipeline

+

+ These are the underlying services that power each of our products; + they can be configured in a variety of ways to support the unique + needs of your jurisdiction. +

+
+
+ +

For Data Processing

+ + + Placeholder +

Orchestration

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+ + Placeholder +

FHIR Converter

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+ + Placeholder +

Validation

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+
+
+ +

For Data Enrichment

+ + + Placeholder +

Standardization

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+ + Placeholder +

Geocoding

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+ + Placeholder +

Record Linkage

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+
+
+ +

For Data Transformation

+ + + Placeholder +

Flat Formatter

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+ + Placeholder +

PHDC Converter

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+
+
+
); } From c3548cd521b2ada97d006a5be5765709a21d366e Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Fri, 25 Oct 2024 12:35:54 -0400 Subject: [PATCH 02/35] improve standalone products grid --- src/app/our-products/page.tsx | 39 ++++++++++++++--------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 5377615..4a3c499 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -18,7 +18,7 @@ export default function OurProducts() {

Standalone Products

- + -
+

eCR Viewer

Graphic headings can be used a few different ways, depending @@ -51,7 +51,7 @@ export default function OurProducts() { height="280" alt="Placeholder" /> -

+

Query Connector

Allows public health staff to query a wide network of @@ -76,7 +76,7 @@ export default function OurProducts() { height="280" alt="Placeholder" /> -

+

eCR Parser

Enables public health staff to extract relevant data from eCR @@ -98,7 +98,7 @@ export default function OurProducts() { height="280" alt="Placeholder" /> -

+

eCR Refiner

Reduces eCR files down to only the most useful, necessary @@ -106,7 +106,7 @@ export default function OurProducts() { disease surveillance systems and bring focus to pertinent data for a given condition.

- +
@@ -132,12 +132,8 @@ export default function OurProducts() {

For Data Processing

- - + + - + - +

For Data Enrichment

- + Date: Fri, 25 Oct 2024 13:44:04 -0400 Subject: [PATCH 03/35] minor fixes --- src/app/our-products/page.tsx | 42 ++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 4a3c499..e14c2a9 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -11,6 +11,7 @@ export default function OurProducts() {

Our ecosystem of DIBBs products

Find out how DIBBs products can help empower your jurisdiction + with more usable data.

@@ -31,7 +32,7 @@ export default function OurProducts() { alt="Placeholder" />
-

eCR Viewer

+

eCR Viewer

Graphic headings can be used a few different ways, depending on what your landing page is for. Highlight your values, @@ -52,7 +53,7 @@ export default function OurProducts() { alt="Placeholder" />

-

Query Connector

+

Query Connector

Allows public health staff to query a wide network of healthcare organizations for data relevant to a given @@ -77,7 +78,7 @@ export default function OurProducts() { alt="Placeholder" />

-

eCR Parser

+

eCR Parser

Enables public health staff to extract relevant data from eCR messages based on a user-defined parsing schema. It exports @@ -99,7 +100,7 @@ export default function OurProducts() { alt="Placeholder" />

-

eCR Refiner

+

eCR Refiner

Reduces eCR files down to only the most useful, necessary information to alleviate performance and storage burden on @@ -114,7 +115,7 @@ export default function OurProducts() {

- +
- +
-

For Data Processing

- - +

FOR DATA PROCESSING

+ + - + - +
-

For Data Enrichment

+

FOR DATA ENRICHMENT

-

For Data Transformation

+

FOR DATA TRANSFORMATION

Date: Fri, 25 Oct 2024 14:14:55 -0400 Subject: [PATCH 04/35] component organization for styling reuse --- src/app/our-products/page.tsx | 559 +++++++++++++++++----------------- 1 file changed, 287 insertions(+), 272 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index e14c2a9..511a54e 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -5,292 +5,307 @@ import { basePath } from '../utils/constants'; export default function OurProducts() { return (
-
- -
-

Our ecosystem of DIBBs products

-

- Find out how DIBBs products can help empower your jurisdiction - with more usable data. -

-
-
-
-
- -

Standalone Products

- - - Placeholder -
-

eCR Viewer

-

- Graphic headings can be used a few different ways, depending - on what your landing page is for. Highlight your values, - specific program areas, or results. -

- -
-
- - Placeholder -
-

Query Connector

-

- Allows public health staff to query a wide network of - healthcare organizations for data relevant to a given - condition. It gives staff access to more complete and timely - data without the need for a direct connection to a healthcare - provider. -

- -
-
-
- - - Placeholder -
-

eCR Parser

-

- Enables public health staff to extract relevant data from eCR - messages based on a user-defined parsing schema. It exports - that data into a simple JSON file that can be easily loaded - into a tabular format (like a spreadsheet). -

- -
-
- - Placeholder -
-

eCR Refiner

-

- Reduces eCR files down to only the most useful, necessary - information to alleviate performance and storage burden on - disease surveillance systems and bring focus to pertinent data - for a given condition. -

- -
-
-
-
-
-
- -
+ + + +
+ ); +} + +function Intro() { + return ( +
+ +
+

Our ecosystem of DIBBs products

+

+ Find out how DIBBs products can help empower your jurisdiction with + more usable data. +

+
+
+
+ ); +} + +function StandaloneProducts() { + return ( +
+ +

Standalone Products

+ + Placeholder -

DIBBs to support the entire data pipeline

-

- These are the underlying services that power each of our products; - they can be configured in a variety of ways to support the unique - needs of your jurisdiction. -

-
-
- -

FOR DATA PROCESSING

- - - Placeholder -

Orchestration

-

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows -

-
- - Placeholder -

FHIR Converter

-

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows -

-
- - Placeholder -

Validation

+
+

eCR Viewer

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows + Graphic headings can be used a few different ways, depending on + what your landing page is for. Highlight your values, specific + program areas, or results.

- + +
-
- -

FOR DATA ENRICHMENT

- - - Placeholder -

Standardization

-

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows -

-
- - Placeholder -

Geocoding

-

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows -

-
- - Placeholder -

Record Linkage

+ + Placeholder +
+

Query Connector

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows + Allows public health staff to query a wide network of healthcare + organizations for data relevant to a given condition. It gives + staff access to more complete and timely data without the need + for a direct connection to a healthcare provider.

- + +
-
- -

FOR DATA TRANSFORMATION

- - - Placeholder -

Flat Formatter

+
+ + + Placeholder +
+

eCR Parser

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows + Enables public health staff to extract relevant data from eCR + messages based on a user-defined parsing schema. It exports that + data into a simple JSON file that can be easily loaded into a + tabular format (like a spreadsheet).

- - - Placeholder -

PHDC Converter

+ +
+
+ + Placeholder +
+

eCR Refiner

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows + Reduces eCR files down to only the most useful, necessary + information to alleviate performance and storage burden on + disease surveillance systems and bring focus to pertinent data + for a given condition.

- + +
-
-
- + + + + ); +} + +function DataPipeline() { + return ( +
+ +
+ Placeholder +

DIBBs to support the entire data pipeline

+

+ These are the underlying services that power each of our products; + they can be configured in a variety of ways to support the unique + needs of your jurisdiction. +

+
+
+ + + Placeholder +

Orchestration

+

+ Enables coordinated execution of DIBBs in any order, allowing for + fully automated workflows +

+
+ + Placeholder +

FHIR Converter

+

+ Converts incoming messages into the FHIR (Fast Healthcare + Interoperability Resources) standard; acts as a common language + between data streams that allows for ease of processing data in all + the different DIBBs +

+
+ + Placeholder +

Validation

+

+ Reads and validates all eCR fields of interest based on specified, + custom preferences; ensures that its XML structure is valid, that + the required fields are present and in the correct format, and that + the data is trustworthy +

+
+
+ + + Placeholder +

Standardization

+

+ Standardizes data fields (including record name, date of birth, + phone number, and geolocation) based on preset defaults to ensure + consistency; for example, standardizing phone formats (888-555-1234 + vs. (888)555-1234) +

+
+ + Placeholder +

Geocoding

+

+ Enriches data by providing precise geographic locations based on + patient street addresses from input data +

+
+ + Placeholder +

Record Linkage

+

+ Identifies multiple records referring to the same individual and + combines them into a single, more complete patient record +

+
+
+ + + Placeholder +

Flat Formatter

+

+ Extracts relevant data from a given healthcare message and exports + the data into a JSON file based on a user-defined parsing schema +

+
+ + Placeholder +

PHDC Converter

+

+ Converts a FHIR bundle to the Public Health Document Container + (PHDC) format for ingestion into the National Electronic Disease + Surveillance System (NEDSS) Base System (NBS) +

+
+
+
+ ); +} + +interface DataPipelineGridProps { + name: string; + children: React.ReactNode; +} + +function DataPipelineGrid({ name, children }: DataPipelineGridProps) { + return ( + +

{name}

+ + {children} + +
+ ); +} + +interface DataPipelineGridItemProps { + children: React.ReactNode; +} +function DataPipelineGridItem({ children }: DataPipelineGridItemProps) { + return ( + +
{children}
+
); } From a8cbf4af60ad5fb034b5bd7fe68bd73e58484640 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Fri, 25 Oct 2024 14:29:10 -0400 Subject: [PATCH 05/35] place holder spot --- src/app/our-products/page.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 511a54e..42c2538 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -273,6 +273,9 @@ function DataPipeline() { Surveillance System (NEDSS) Base System (NBS)

+ +

Empty spot

+
); @@ -303,9 +306,10 @@ function DataPipelineGridItem({ children }: DataPipelineGridItemProps) { tablet={{ col: true, }} - className="border border-dashed" > -
{children}
+ + {children} + ); } From 77b13134e4633af2ee7bbb1c23c0abd87c8178f3 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Fri, 25 Oct 2024 14:56:48 -0400 Subject: [PATCH 06/35] use h3s, round borders --- src/app/our-products/page.tsx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 42c2538..6b9daca 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -158,7 +158,7 @@ function DataPipeline() { alt="Placeholder" style={{ minWidth: 88, minHeight: 88 }} /> -

Orchestration

+

Orchestration

Enables coordinated execution of DIBBs in any order, allowing for fully automated workflows @@ -170,9 +170,9 @@ function DataPipeline() { width="88" height="88" alt="Placeholder" - style={{ minWidth: 88, minHeight: 88 }} + style={{ minWidth: 88, minHeight: 88, maxHeight: 88 }} /> -

FHIR Converter

+

FHIR Converter

Converts incoming messages into the FHIR (Fast Healthcare Interoperability Resources) standard; acts as a common language @@ -188,7 +188,7 @@ function DataPipeline() { alt="Placeholder" style={{ minWidth: 88, minHeight: 88 }} /> -

Validation

+

Validation

Reads and validates all eCR fields of interest based on specified, custom preferences; ensures that its XML structure is valid, that @@ -206,7 +206,7 @@ function DataPipeline() { alt="Placeholder" style={{ minWidth: 88, minHeight: 88 }} /> -

Standardization

+

Standardization

Standardizes data fields (including record name, date of birth, phone number, and geolocation) based on preset defaults to ensure @@ -222,7 +222,7 @@ function DataPipeline() { alt="Placeholder" style={{ minWidth: 88, minHeight: 88 }} /> -

Geocoding

+

Geocoding

Enriches data by providing precise geographic locations based on patient street addresses from input data @@ -236,7 +236,7 @@ function DataPipeline() { alt="Placeholder" style={{ minWidth: 88, minHeight: 88 }} /> -

Record Linkage

+

Record Linkage

Identifies multiple records referring to the same individual and combines them into a single, more complete patient record @@ -252,7 +252,7 @@ function DataPipeline() { alt="Placeholder" style={{ minWidth: 88, minHeight: 88 }} /> -

Flat Formatter

+

Flat Formatter

Extracts relevant data from a given healthcare message and exports the data into a JSON file based on a user-defined parsing schema @@ -266,7 +266,7 @@ function DataPipeline() { alt="Placeholder" style={{ minWidth: 88, minHeight: 88 }} /> -

PHDC Converter

+

PHDC Converter

Converts a FHIR bundle to the Public Health Document Container (PHDC) format for ingestion into the National Electronic Disease @@ -307,8 +307,14 @@ function DataPipelineGridItem({ children }: DataPipelineGridItemProps) { col: true, }} > - - {children} + +

{children}
); From 063e1ce17de0f672d279a5284605f8ada02b3d41 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Fri, 25 Oct 2024 15:09:11 -0400 Subject: [PATCH 07/35] global styling for h3s --- src/app/globals.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/app/globals.css b/src/app/globals.css index c5f16b8..e225cb4 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -85,6 +85,14 @@ h2 { line-height: normal; } +h3 { + color: #224a58; + font-family: 'Source Sans Pro', sans-serif; + font-weight: 700; + font-size: 22px; + line-height: 27,65px; +} + ul { margin-bottom: 1em; margin-top: 1em; From b317949a1f70d79f8c445eabed00ba4c04619571 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Fri, 25 Oct 2024 15:10:17 -0400 Subject: [PATCH 08/35] remove classes from h3s --- src/app/our-products/page.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 6b9daca..66faee1 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -46,7 +46,7 @@ function StandaloneProducts() { alt="Placeholder" />
-

eCR Viewer

+

eCR Viewer

Graphic headings can be used a few different ways, depending on what your landing page is for. Highlight your values, specific @@ -67,7 +67,7 @@ function StandaloneProducts() { alt="Placeholder" />

-

Query Connector

+

Query Connector

Allows public health staff to query a wide network of healthcare organizations for data relevant to a given condition. It gives @@ -91,7 +91,7 @@ function StandaloneProducts() { alt="Placeholder" />

-

eCR Parser

+

eCR Parser

Enables public health staff to extract relevant data from eCR messages based on a user-defined parsing schema. It exports that @@ -113,7 +113,7 @@ function StandaloneProducts() { alt="Placeholder" />

-

eCR Refiner

+

eCR Refiner

Reduces eCR files down to only the most useful, necessary information to alleviate performance and storage burden on From b5d45d43ce37e72bd41c02a5717ee1ec25eca070 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Mon, 28 Oct 2024 10:25:38 -0400 Subject: [PATCH 09/35] use cards for products grid --- src/app/our-products/page.tsx | 171 ++++++++++++++++++++++------------ 1 file changed, 114 insertions(+), 57 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 66faee1..353b33e 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -1,4 +1,15 @@ -import { Button, Grid, GridContainer } from '@trussworks/react-uswds'; +import { + Button, + Card, + CardBody, + CardFooter, + CardGroup, + CardHeader, + CardMedia, + Grid, + GridContainer, + Link, +} from '@trussworks/react-uswds'; import Image from 'next/image'; import { basePath } from '../utils/constants'; @@ -33,40 +44,55 @@ function StandaloneProducts() {

Standalone Products

- - + - Placeholder -
+ + Placeholder

eCR Viewer

Graphic headings can be used a few different ways, depending on what your landing page is for. Highlight your values, specific program areas, or results.

- -
-
- + + + Learn more about eCR Viewer + + + + - Placeholder -
+ + Placeholder

Query Connector

Allows public health staff to query a wide network of healthcare @@ -74,23 +100,33 @@ function StandaloneProducts() { staff access to more complete and timely data without the need for a direct connection to a healthcare provider.

- -
-
-
- - + + + Learn more about Query Connector + + + + - Placeholder -
+ + Placeholder

eCR Parser

Enables public health staff to extract relevant data from eCR @@ -98,21 +134,33 @@ function StandaloneProducts() { data into a simple JSON file that can be easily loaded into a tabular format (like a spreadsheet).

- -
-
- + + + Learn more about eCR Parser + + + + - Placeholder -
+ + Placeholder

eCR Refiner

Reduces eCR files down to only the most useful, necessary @@ -120,10 +168,19 @@ function StandaloneProducts() { disease surveillance systems and bring focus to pertinent data for a given condition.

- -
-
-
+ + + + Learn more about eCR Refiner + + + +
); From 88b5195ae2027bdc9b83060aedaa8f244d396cd7 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Mon, 28 Oct 2024 10:46:16 -0400 Subject: [PATCH 10/35] use cards for data pipeline section --- src/app/our-products/page.tsx | 374 ++++++++++++++++++---------------- 1 file changed, 203 insertions(+), 171 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 353b33e..b53f60c 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -1,12 +1,8 @@ import { - Button, Card, CardBody, CardFooter, CardGroup, - CardHeader, - CardMedia, - Grid, GridContainer, Link, } from '@trussworks/react-uswds'; @@ -205,174 +201,210 @@ function DataPipeline() { needs of your jurisdiction.

- - - - Placeholder -

Orchestration

-

- Enables coordinated execution of DIBBs in any order, allowing for - fully automated workflows -

-
- - Placeholder -

FHIR Converter

-

- Converts incoming messages into the FHIR (Fast Healthcare - Interoperability Resources) standard; acts as a common language - between data streams that allows for ease of processing data in all - the different DIBBs -

-
- - Placeholder -

Validation

-

- Reads and validates all eCR fields of interest based on specified, - custom preferences; ensures that its XML structure is valid, that - the required fields are present and in the correct format, and that - the data is trustworthy -

-
-
- - - Placeholder -

Standardization

-

- Standardizes data fields (including record name, date of birth, - phone number, and geolocation) based on preset defaults to ensure - consistency; for example, standardizing phone formats (888-555-1234 - vs. (888)555-1234) -

-
- - Placeholder -

Geocoding

-

- Enriches data by providing precise geographic locations based on - patient street addresses from input data -

-
- - Placeholder -

Record Linkage

-

- Identifies multiple records referring to the same individual and - combines them into a single, more complete patient record -

-
-
- - - Placeholder -

Flat Formatter

-

- Extracts relevant data from a given healthcare message and exports - the data into a JSON file based on a user-defined parsing schema -

-
- - Placeholder -

PHDC Converter

-

- Converts a FHIR bundle to the Public Health Document Container - (PHDC) format for ingestion into the National Electronic Disease - Surveillance System (NEDSS) Base System (NBS) -

-
- -

Empty spot

-
-
- - ); -} - -interface DataPipelineGridProps { - name: string; - children: React.ReactNode; -} +

FOR DATA PROCESSING

+ + + + Placeholder +

Orchestration

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+
+ + + Placeholder +

FHIR Converter

+

+ Converts incoming messages into the FHIR (Fast Healthcare + Interoperability Resources) standard; acts as a common language + between data streams that allows for ease of processing data in + all the different DIBBs +

+
+
+ + + Placeholder +

Validation

+

+ Reads and validates all eCR fields of interest based on + specified, custom preferences; ensures that its XML structure is + valid, that the required fields are present and in the correct + format, and that the data is trustworthy +

+
+
+
-function DataPipelineGrid({ name, children }: DataPipelineGridProps) { - return ( - -

{name}

- - {children} - -
- ); -} +

FOR DATA ENRICHMENT

+ + + + Placeholder +

Standardization

+

+ Standardizes data fields (including record name, date of birth, + phone number, and geolocation) based on preset defaults to + ensure consistency; for example, standardizing phone formats + (888-555-1234 vs. (888)555-1234) +

+
+
+ + + Placeholder +

Geocoding

+

+ Enriches data by providing precise geographic locations based on + patient street addresses from input data +

+
+
+ + + Placeholder +

Record Linkage

+

+ Identifies multiple records referring to the same individual and + combines them into a single, more complete patient record +

+
+
+
-interface DataPipelineGridItemProps { - children: React.ReactNode; -} -function DataPipelineGridItem({ children }: DataPipelineGridItemProps) { - return ( - - -
{children}
-
-
+

FOR DATA TRANSFORMATION

+ + + + Placeholder +

Flat Formatter

+

+ Extracts relevant data from a given healthcare message and + exports the data into a JSON file based on a user-defined + parsing schema +

+
+
+ + + Placeholder +

PHDC Converter

+

+ Converts a FHIR bundle to the Public Health Document Container + (PHDC) format for ingestion into the National Electronic Disease + Surveillance System (NEDSS) Base System (NBS) +

+
+
+
+ + ); } From 2b70f19b7a713dc2c48dacf9d9a362d7c17bd9df Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Mon, 28 Oct 2024 10:57:25 -0400 Subject: [PATCH 11/35] Add and use correct icons --- public/icons/our-products/fhirConverter.svg | 6 ++++++ public/icons/our-products/flatFormatter.svg | 6 ++++++ public/icons/our-products/geocoding.svg | 6 ++++++ public/icons/our-products/orchestration.svg | 6 ++++++ public/icons/our-products/phdcConverter.svg | 6 ++++++ public/icons/our-products/recordLinkage.svg | 6 ++++++ public/icons/our-products/standardization.svg | 6 ++++++ public/icons/our-products/validation.svg | 6 ++++++ src/app/our-products/page.tsx | 16 ++++++++-------- 9 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 public/icons/our-products/fhirConverter.svg create mode 100644 public/icons/our-products/flatFormatter.svg create mode 100644 public/icons/our-products/geocoding.svg create mode 100644 public/icons/our-products/orchestration.svg create mode 100644 public/icons/our-products/phdcConverter.svg create mode 100644 public/icons/our-products/recordLinkage.svg create mode 100644 public/icons/our-products/standardization.svg create mode 100644 public/icons/our-products/validation.svg diff --git a/public/icons/our-products/fhirConverter.svg b/public/icons/our-products/fhirConverter.svg new file mode 100644 index 0000000..1f77be3 --- /dev/null +++ b/public/icons/our-products/fhirConverter.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/icons/our-products/flatFormatter.svg b/public/icons/our-products/flatFormatter.svg new file mode 100644 index 0000000..46a82f4 --- /dev/null +++ b/public/icons/our-products/flatFormatter.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/icons/our-products/geocoding.svg b/public/icons/our-products/geocoding.svg new file mode 100644 index 0000000..b4f9bb1 --- /dev/null +++ b/public/icons/our-products/geocoding.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/icons/our-products/orchestration.svg b/public/icons/our-products/orchestration.svg new file mode 100644 index 0000000..e748eaa --- /dev/null +++ b/public/icons/our-products/orchestration.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/icons/our-products/phdcConverter.svg b/public/icons/our-products/phdcConverter.svg new file mode 100644 index 0000000..bb1a58a --- /dev/null +++ b/public/icons/our-products/phdcConverter.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/icons/our-products/recordLinkage.svg b/public/icons/our-products/recordLinkage.svg new file mode 100644 index 0000000..975a237 --- /dev/null +++ b/public/icons/our-products/recordLinkage.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/icons/our-products/standardization.svg b/public/icons/our-products/standardization.svg new file mode 100644 index 0000000..b40a21e --- /dev/null +++ b/public/icons/our-products/standardization.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/icons/our-products/validation.svg b/public/icons/our-products/validation.svg new file mode 100644 index 0000000..1120256 --- /dev/null +++ b/public/icons/our-products/validation.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index b53f60c..d34a15b 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -213,7 +213,7 @@ function DataPipeline() { > Placeholder Placeholder Placeholder Placeholder Placeholder Placeholder Placeholder Placeholder Date: Mon, 28 Oct 2024 11:01:09 -0400 Subject: [PATCH 12/35] clean up image props --- src/app/our-products/page.tsx | 56 +++++++++++++++-------------------- 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index d34a15b..96e12f8 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -214,10 +214,9 @@ function DataPipeline() { Placeholder

Orchestration

@@ -237,10 +236,9 @@ function DataPipeline() { Placeholder

FHIR Converter

@@ -262,10 +260,9 @@ function DataPipeline() { Placeholder

Validation

@@ -291,10 +288,9 @@ function DataPipeline() { Placeholder

Standardization

@@ -316,10 +312,9 @@ function DataPipeline() { Placeholder

Geocoding

@@ -339,10 +334,9 @@ function DataPipeline() { Placeholder

Record Linkage

@@ -366,10 +360,9 @@ function DataPipeline() { Placeholder

Flat Formatter

@@ -390,10 +383,9 @@ function DataPipeline() { Placeholder

PHDC Converter

From 46f8698d128dc76ff9d8f9c9dda793fabfd61b38 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Mon, 28 Oct 2024 11:04:10 -0400 Subject: [PATCH 13/35] Header alignment --- src/app/our-products/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 96e12f8..972cf86 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -39,7 +39,7 @@ function StandaloneProducts() { return (

-

Standalone Products

+

Standalone Products

Date: Mon, 28 Oct 2024 11:21:41 -0400 Subject: [PATCH 14/35] use next link --- src/app/our-products/page.tsx | 30 +++++------------------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 972cf86..50edc31 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -4,9 +4,9 @@ import { CardFooter, CardGroup, GridContainer, - Link, } from '@trussworks/react-uswds'; import Image from 'next/image'; +import Link from 'next/link'; import { basePath } from '../utils/constants'; export default function OurProducts() { @@ -64,12 +64,7 @@ function StandaloneProducts() {

- + Learn more about eCR Viewer @@ -98,12 +93,7 @@ function StandaloneProducts() {

- + Learn more about Query Connector @@ -132,12 +122,7 @@ function StandaloneProducts() {

- + Learn more about eCR Parser @@ -166,12 +151,7 @@ function StandaloneProducts() {

- + Learn more about eCR Refiner From b5f4f3fe6d498c1b68d16cdd4ebf44ab510f2f39 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Mon, 28 Oct 2024 13:25:27 -0400 Subject: [PATCH 15/35] update btn and link designs --- src/app/our-products/page.tsx | 17 ++++++++++------- src/app/styles/OurProducts.module.scss | 3 +++ 2 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 src/app/styles/OurProducts.module.scss diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 50edc31..a78efbb 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -1,4 +1,5 @@ import { + Button, Card, CardBody, CardFooter, @@ -8,6 +9,8 @@ import { import Image from 'next/image'; import Link from 'next/link'; import { basePath } from '../utils/constants'; +import styles from './../styles/OurProducts.module.scss'; +import classNames from 'classnames'; export default function OurProducts() { return ( @@ -64,7 +67,7 @@ function StandaloneProducts() {

- + Learn more about eCR Viewer @@ -93,9 +96,9 @@ function StandaloneProducts() {

- +
- + - +
diff --git a/src/app/styles/OurProducts.module.scss b/src/app/styles/OurProducts.module.scss new file mode 100644 index 0000000..d7bab75 --- /dev/null +++ b/src/app/styles/OurProducts.module.scss @@ -0,0 +1,3 @@ +.btn { + background-color: #224a58; +} \ No newline at end of file From bf1baf7ad51b55de27c676ab776fbbb91c13eb5d Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Mon, 28 Oct 2024 13:37:34 -0400 Subject: [PATCH 16/35] gap and padding --- src/app/our-products/page.tsx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index a78efbb..f143ecf 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -169,7 +169,7 @@ function DataPipeline() { return (
-
+
Placeholder -

DIBBs to support the entire data pipeline

-

- These are the underlying services that power each of our products; - they can be configured in a variety of ways to support the unique - needs of your jurisdiction. -

+
+

DIBBs to support the entire data pipeline

+

+ These are the underlying services that power each of our products; + they can be configured in a variety of ways to support the unique + needs of your jurisdiction. +

+

FOR DATA PROCESSING

From b9dc9a93207647770efbe9d71d098130b0343054 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Mon, 28 Oct 2024 14:04:09 -0400 Subject: [PATCH 17/35] use correct gap for product text and titles --- src/app/our-products/page.tsx | 111 ++++++++++++++++++---------------- 1 file changed, 60 insertions(+), 51 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index f143ecf..d4ca719 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -53,18 +53,20 @@ function StandaloneProducts() { containerProps={{ className: 'border-0' }} > - Placeholder -

eCR Viewer

-

- Graphic headings can be used a few different ways, depending on - what your landing page is for. Highlight your values, specific - program areas, or results. -

+
+ Placeholder +

eCR Viewer

+

+ Graphic headings can be used a few different ways, depending + on what your landing page is for. Highlight your values, + specific program areas, or results. +

+
@@ -81,19 +83,22 @@ function StandaloneProducts() { containerProps={{ className: 'border-0' }} > - Placeholder -

Query Connector

-

- Allows public health staff to query a wide network of healthcare - organizations for data relevant to a given condition. It gives - staff access to more complete and timely data without the need - for a direct connection to a healthcare provider. -

+
+ Placeholder +

Query Connector

+

+ Allows public health staff to query a wide network of + healthcare organizations for data relevant to a given + condition. It gives staff access to more complete and timely + data without the need for a direct connection to a healthcare + provider. +

+
@@ -114,14 +118,16 @@ function StandaloneProducts() { }} containerProps={{ className: 'border-0' }} > - +
- Placeholder +
+ Placeholder +

eCR Parser

Enables public health staff to extract relevant data from eCR @@ -131,7 +137,7 @@ function StandaloneProducts() {

- + @@ -145,14 +151,16 @@ function StandaloneProducts() { }} containerProps={{ className: 'border-0' }} > - +
- Placeholder +
+ Placeholder +

eCR Refiner

Reduces eCR files down to only the most useful, necessary @@ -162,7 +170,7 @@ function StandaloneProducts() {

- + diff --git a/src/app/styles/OurProducts.module.scss b/src/app/styles/OurProducts.module.scss index 66b5ab4..ff4e9fa 100644 --- a/src/app/styles/OurProducts.module.scss +++ b/src/app/styles/OurProducts.module.scss @@ -4,4 +4,8 @@ .dataPipelineImage { max-height: 160px; +} + +.cardBody, .cardFooter { + padding: 0; } \ No newline at end of file From 974a89ca133c6a5a1f7917d664a77c2d581c1e35 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 29 Oct 2024 11:17:44 -0400 Subject: [PATCH 21/35] remove unneeded grid-container class --- src/app/our-products/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 381a5e5..d869c04 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -28,7 +28,7 @@ function Intro() {

Our ecosystem of DIBBs products

-

+

Find out how DIBBs products can help empower your jurisdiction with more usable data.

From 1b06be2b7337866d1193e00d31784e4408c4d687 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Mon, 4 Nov 2024 13:57:21 -0500 Subject: [PATCH 22/35] fixing styles --- src/app/custom-styles.css | 6 +- src/app/our-products/page.tsx | 764 ++++++++++++------------- src/app/styles/OurProducts.module.scss | 11 - 3 files changed, 384 insertions(+), 397 deletions(-) delete mode 100644 src/app/styles/OurProducts.module.scss diff --git a/src/app/custom-styles.css b/src/app/custom-styles.css index 98f3f6b..af17f5a 100644 --- a/src/app/custom-styles.css +++ b/src/app/custom-styles.css @@ -9,7 +9,7 @@ } :root { - --background: #ffffff; + --background: #e7f2f580; --foreground: #171717; --header-teal: #224a58; --background-light-blue: #dcecf3; @@ -18,7 +18,7 @@ html, body { - background: #e7f2f580; + background: var(--background); font-family: 'Source Sans Pro', sans-serif; } @@ -77,7 +77,7 @@ h3 { font-family: 'Source Sans Pro', sans-serif; font-weight: 700; font-size: 22px; - line-height: 27,65px; + line-height: 27, 65px; } ul { diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index d869c04..da10696 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -4,417 +4,415 @@ import { CardBody, CardFooter, CardGroup, - GridContainer, } from '@trussworks/react-uswds'; import Image from 'next/image'; import Link from 'next/link'; import { basePath } from '../utils/constants'; -import styles from './../styles/OurProducts.module.scss'; -import classNames from 'classnames'; +import Hero from '../components/Hero/Hero'; +import { ContentContainer } from '../components/ContentContainer/ContentContainer'; export default function OurProducts() { return (
- +
); } -function Intro() { - return ( -
- -
-

Our ecosystem of DIBBs products

-

- Find out how DIBBs products can help empower your jurisdiction with - more usable data. -

-
-
-
- ); -} - function StandaloneProducts() { return ( -
- -

Standalone Products

- - - -
-
- Placeholder -
-

eCR Viewer

-

- Graphic headings can be used a few different ways, depending - on what your landing page is for. Highlight your values, - specific program areas, or results. -

-
-
- - - Learn more about eCR Viewer - - -
- - -
-
- Placeholder -
-

Query Connector

-

- Allows public health staff to query a wide network of - healthcare organizations for data relevant to a given - condition. It gives staff access to more complete and timely - data without the need for a direct connection to a healthcare - provider. -

-
-
- - - -
- - -
-
- Placeholder -
-

eCR Parser

-

- Enables public health staff to extract relevant data from eCR - messages based on a user-defined parsing schema. It exports - that data into a simple JSON file that can be easily loaded - into a tabular format (like a spreadsheet). -

-
-
- - - -
- - -
-
- Placeholder -
-

eCR Refiner

-

- Reduces eCR files down to only the most useful, necessary - information to alleviate performance and storage burden on - disease surveillance systems and bring focus to pertinent data - for a given condition. -

-
-
- - - -
-
-
-
- ); -} - -function DataPipeline() { - return ( -
- -
- Placeholder -
-

DIBBs to support the entire data pipeline

-

- These are the underlying services that power each of our products; - they can be configured in a variety of ways to support the unique - needs of your jurisdiction. -

-
-
-

FOR DATA PROCESSING

- - - -
+ +

Standalone Products

+ + + +
+
Orchestration icon -

Orchestration

-

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows -

- - - - -
+

eCR Viewer

+

+ Graphic headings can be used a few different ways, depending on + what your landing page is for. Highlight your values, specific + program areas, or results. +

+
+
+ + + Learn more about eCR Viewer + + +
+ + +
+
FHIR Converter icon -

FHIR Converter

-

- Converts incoming messages into the FHIR (Fast Healthcare - Interoperability Resources) standard; acts as a common - language between data streams that allows for ease of - processing data in all the different DIBBs -

- - - - -
+

Query Connector

+

+ Allows public health staff to query a wide network of healthcare + organizations for data relevant to a given condition. It gives + staff access to more complete and timely data without the need + for a direct connection to a healthcare provider. +

+
+
+ + + +
+ + +
+
Validation icon -

Validation

-

- Reads and validates all eCR fields of interest based on - specified, custom preferences; ensures that its XML structure - is valid, that the required fields are present and in the - correct format, and that the data is trustworthy -

- - - - -

FOR DATA ENRICHMENT

- - - -
+

eCR Parser

+

+ Enables public health staff to extract relevant data from eCR + messages based on a user-defined parsing schema. It exports that + data into a simple JSON file that can be easily loaded into a + tabular format (like a spreadsheet). +

+
+
+ + + +
+ + +
+
Standardization icon -

Standardization

-

- Standardizes data fields (including record name, date of - birth, phone number, and geolocation) based on preset defaults - to ensure consistency; for example, standardizing phone - formats (888-555-1234 vs. (888)555-1234) -

- - - - -
- Geocoding icon -

Geocoding

-

- Enriches data by providing precise geographic locations based - on patient street addresses from input data -

-
-
-
- - -
- Record Linkage icon -

Record Linkage

-

- Identifies multiple records referring to the same individual - and combines them into a single, more complete patient record -

-
-
-
- +

eCR Refiner

+

+ Reduces eCR files down to only the most useful, necessary + information to alleviate performance and storage burden on + disease surveillance systems and bring focus to pertinent data + for a given condition. +

+
+
+ + + +
+
+ + ); +} -

FOR DATA TRANSFORMATION

- - - -
- Flat Formatter icon -

Flat Formatter

-

- Extracts relevant data from a given healthcare message and - exports the data into a JSON file based on a user-defined - parsing schema -

-
-
-
- - -
- PHDC Converter icon -

PHDC Converter

-

- Converts a FHIR bundle to the Public Health Document Container - (PHDC) format for ingestion into the National Electronic - Disease Surveillance System (NEDSS) Base System (NBS) -

-
-
-
-
- -
+function DataPipeline() { + return ( + +
+ Placeholder +
+

DIBBs to support the entire data pipeline

+

+ These are the underlying services that power each of our products; + they can be configured in a variety of ways to support the unique + needs of your jurisdiction. +

+
+
+

FOR DATA PROCESSING

+ + + +
+ Orchestration icon +

Orchestration

+

+ Enables coordinated execution of DIBBs in any order, allowing + for fully automated workflows +

+
+
+
+ + +
+ FHIR Converter icon +

FHIR Converter

+

+ Converts incoming messages into the FHIR (Fast Healthcare + Interoperability Resources) standard; acts as a common language + between data streams that allows for ease of processing data in + all the different DIBBs +

+
+
+
+ + +
+ Validation icon +

Validation

+

+ Reads and validates all eCR fields of interest based on + specified, custom preferences; ensures that its XML structure is + valid, that the required fields are present and in the correct + format, and that the data is trustworthy +

+
+
+
+
+ +

FOR DATA ENRICHMENT

+ + + +
+ Standardization icon +

Standardization

+

+ Standardizes data fields (including record name, date of birth, + phone number, and geolocation) based on preset defaults to + ensure consistency; for example, standardizing phone formats + (888-555-1234 vs. (888)555-1234) +

+
+
+
+ + +
+ Geocoding icon +

Geocoding

+

+ Enriches data by providing precise geographic locations based on + patient street addresses from input data +

+
+
+
+ + +
+ Record Linkage icon +

Record Linkage

+

+ Identifies multiple records referring to the same individual and + combines them into a single, more complete patient record +

+
+
+
+
+ +

FOR DATA TRANSFORMATION

+ + + +
+ Flat Formatter icon +

Flat Formatter

+

+ Extracts relevant data from a given healthcare message and + exports the data into a JSON file based on a user-defined + parsing schema +

+
+
+
+ + +
+ PHDC Converter icon +

PHDC Converter

+

+ Converts a FHIR bundle to the Public Health Document Container + (PHDC) format for ingestion into the National Electronic Disease + Surveillance System (NEDSS) Base System (NBS) +

+
+
+
+
+
); } diff --git a/src/app/styles/OurProducts.module.scss b/src/app/styles/OurProducts.module.scss deleted file mode 100644 index ff4e9fa..0000000 --- a/src/app/styles/OurProducts.module.scss +++ /dev/null @@ -1,11 +0,0 @@ -.btn { - background-color: #224a58; -} - -.dataPipelineImage { - max-height: 160px; -} - -.cardBody, .cardFooter { - padding: 0; -} \ No newline at end of file From 853204dceb3b598f6022850ca28e14d18e2d320b Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Mon, 4 Nov 2024 14:56:42 -0500 Subject: [PATCH 23/35] more styling improvements --- src/app/our-products/page.tsx | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index da10696..ac113db 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -49,14 +49,15 @@ function StandaloneProducts() { />

eCR Viewer

-

- Graphic headings can be used a few different ways, depending on - what your landing page is for. Highlight your values, specific - program areas, or results. +

+ Makes it easier for public health staff to find relevant + information in eCR documents. It combines both the eICR and RR + records into a single view and highlights relevant lab or + clinical information for conditions present in the eCR.

- + Learn more about eCR Viewer @@ -71,7 +72,7 @@ function StandaloneProducts() { containerProps={{ className: 'border-0 bg-background' }} > -
+

Query Connector

-

+

Allows public health staff to query a wide network of healthcare organizations for data relevant to a given condition. It gives staff access to more complete and timely data without the need @@ -89,7 +90,7 @@ function StandaloneProducts() {

- + @@ -114,7 +115,7 @@ function StandaloneProducts() { />

eCR Parser

-

+

Enables public health staff to extract relevant data from eCR messages based on a user-defined parsing schema. It exports that data into a simple JSON file that can be easily loaded into a @@ -122,7 +123,7 @@ function StandaloneProducts() {

- + @@ -147,7 +148,7 @@ function StandaloneProducts() { />

eCR Refiner

-

+

Reduces eCR files down to only the most useful, necessary information to alleviate performance and storage burden on disease surveillance systems and bring focus to pertinent data @@ -155,7 +156,7 @@ function StandaloneProducts() {

- + From 6eb3dcd84a1701f3c65d2f08f7f73ca5ddc7d10f Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 10:43:29 -0500 Subject: [PATCH 24/35] Improvements to standalone products grid --- src/app/our-products/page.tsx | 210 +++++++++++++--------------------- 1 file changed, 78 insertions(+), 132 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index ac113db..9c91efe 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -29,144 +29,90 @@ function StandaloneProducts() { return (

Standalone Products

- - - -
-
- Placeholder -
-

eCR Viewer

-

- Makes it easier for public health staff to find relevant +

+ - - Learn more about eCR Viewer - - - - - -
-
- Placeholder -
-

Query Connector

-

- Allows public health staff to query a wide network of healthcare - organizations for data relevant to a given condition. It gives - staff access to more complete and timely data without the need - for a direct connection to a healthcare provider. -

-
-
- - - -
- - -
-
- Placeholder -
-

eCR Parser

-

- Enables public health staff to extract relevant data from eCR - messages based on a user-defined parsing schema. It exports that - data into a simple JSON file that can be easily loaded into a - tabular format (like a spreadsheet). -

-
-
- - - -
- - -
-
- Placeholder -
-

eCR Refiner

-

- Reduces eCR files down to only the most useful, necessary - information to alleviate performance and storage burden on - disease surveillance systems and bring focus to pertinent data - for a given condition. -

-
-
- - - -
- + clinical information for conditions present in the eCR." + imgSrc={`${basePath}/images/placeholder.png`} + linkText="Learn more about eCR Viewer" + linkToHref="#" + /> + + + +
); } +interface ProductCardProps { + title: string; + text: string; + imgSrc: string; + linkText: string; + linkToHref: string; +} +function ProductCard({ + title, + text, + imgSrc, + linkText, + linkToHref, +}: ProductCardProps) { + return ( +
+
+ Placeholder +
+
+
+

{title}

+

+ {text} +

+
+
+ + {linkText} + +
+ ); +} + function DataPipeline() { return ( From a9ddfb864ea91465f96b392b5a28a781882ad25f Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 10:50:53 -0500 Subject: [PATCH 25/35] convert hero styles to rem and fix padding --- src/app/components/Hero/Hero.module.scss | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/components/Hero/Hero.module.scss b/src/app/components/Hero/Hero.module.scss index 43d7ee5..66edacf 100644 --- a/src/app/components/Hero/Hero.module.scss +++ b/src/app/components/Hero/Hero.module.scss @@ -1,17 +1,17 @@ .content { display: flex; - padding: 0px 30px; + padding: 0 3rem; align-items: center; - gap: 60px; - max-width: 1200px; + gap: 3.75rem; + max-width: 75rem; } .heading { max-width: 58.75rem; color: #224a58; - font-size: 40px; + font-size: 2.5rem; font-style: normal; font-weight: 700; line-height: normal; - margin: 0px; + margin: 0; } From 3d0ed1b8970d2f3a399ad006bfe2c7541ec3c01a Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 11:03:46 -0500 Subject: [PATCH 26/35] set max width on pipeline text --- src/app/our-products/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 9c91efe..679a614 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -126,7 +126,7 @@ function DataPipeline() { />

DIBBs to support the entire data pipeline

-

+

These are the underlying services that power each of our products; they can be configured in a variety of ways to support the unique needs of your jurisdiction. From 725d18663f7056577a70c3d4b1a044c43e6d45f4 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 11:27:57 -0500 Subject: [PATCH 27/35] Improvements to data pipeline section --- src/app/our-products/page.tsx | 304 +++++++++------------------------- 1 file changed, 75 insertions(+), 229 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 679a614..7c9558d 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -1,10 +1,3 @@ -import { - Button, - Card, - CardBody, - CardFooter, - CardGroup, -} from '@trussworks/react-uswds'; import Image from 'next/image'; import Link from 'next/link'; import { basePath } from '../utils/constants'; @@ -113,6 +106,33 @@ function ProductCard({ ); } +interface DataPipelineCardProps { + title: string; + text: string; + imgSrc: string; +} + +function DataPipelineCard({ title, text, imgSrc }: DataPipelineCardProps) { + return ( +

+
+ {`${title} +

{title}

+

{text}

+
+
+ ); +} + +interface DataPipelineGridProps { + children: React.ReactNode; +} +function DataPipelineGrid({ children }: DataPipelineGridProps) { + return ( +
{children}
+ ); +} + function DataPipeline() { return ( @@ -134,232 +154,58 @@ function DataPipeline() {

FOR DATA PROCESSING

- - - -
- Orchestration icon -

Orchestration

-

- Enables coordinated execution of DIBBs in any order, allowing - for fully automated workflows -

-
-
-
- - -
- FHIR Converter icon -

FHIR Converter

-

- Converts incoming messages into the FHIR (Fast Healthcare + + + - Validation icon -

Validation

-

- Reads and validates all eCR fields of interest based on - specified, custom preferences; ensures that its XML structure is - valid, that the required fields are present and in the correct - format, and that the data is trustworthy -

-
-
-
-
- + all the different DIBBs" + imgSrc={`${basePath}/icons/our-products/fhirConverter.svg`} + /> + +

FOR DATA ENRICHMENT

- - - -
- Standardization icon -

Standardization

-

- Standardizes data fields (including record name, date of birth, - phone number, and geolocation) based on preset defaults to - ensure consistency; for example, standardizing phone formats - (888-555-1234 vs. (888)555-1234) -

-
-
-
- - -
- Geocoding icon -

Geocoding

-

- Enriches data by providing precise geographic locations based on - patient street addresses from input data -

-
-
-
- - -
- Record Linkage icon -

Record Linkage

-

- Identifies multiple records referring to the same individual and - combines them into a single, more complete patient record -

-
-
-
-
- + + + + +

FOR DATA TRANSFORMATION

- - - -
- Flat Formatter icon -

Flat Formatter

-

- Extracts relevant data from a given healthcare message and - exports the data into a JSON file based on a user-defined - parsing schema -

-
-
-
- - -
- PHDC Converter icon -

PHDC Converter

-

- Converts a FHIR bundle to the Public Health Document Container - (PHDC) format for ingestion into the National Electronic Disease - Surveillance System (NEDSS) Base System (NBS) -

-
-
-
-
+ + + +
); } From 18e07f83dee08c8341e455a4e32c472e0f434b23 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 11:33:40 -0500 Subject: [PATCH 28/35] fix padding on data pipeline cards --- src/app/our-products/page.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 7c9558d..2ceade5 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -115,10 +115,16 @@ interface DataPipelineCardProps { function DataPipelineCard({ title, text, imgSrc }: DataPipelineCardProps) { return (
-
- {`${title} + {`${title} +

{title}

-

{text}

+

{text}

); From 6c2427dd4f291b138ac5d168161e1c36a79c5051 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 13:41:30 -0500 Subject: [PATCH 29/35] set uniform height for pipeline card, fix text before cards --- src/app/our-products/page.tsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index 2ceade5..f909569 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -114,7 +114,7 @@ interface DataPipelineCardProps { function DataPipelineCard({ title, text, imgSrc }: DataPipelineCardProps) { return ( -
+
-

FOR DATA PROCESSING

+

+ FOR DATA PROCESSING +

-

FOR DATA ENRICHMENT

+

+ FOR DATA ENRICHMENT +

-

FOR DATA TRANSFORMATION

+

+ FOR DATA TRANSFORMATION +

Date: Tue, 5 Nov 2024 13:41:57 -0500 Subject: [PATCH 30/35] adjust content container responsive padding --- src/app/components/ContentContainer/ContentContainer.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/components/ContentContainer/ContentContainer.tsx b/src/app/components/ContentContainer/ContentContainer.tsx index d2e840a..e856d78 100644 --- a/src/app/components/ContentContainer/ContentContainer.tsx +++ b/src/app/components/ContentContainer/ContentContainer.tsx @@ -12,8 +12,8 @@ export function ContentContainer({ return (
{children} From c7c91a89da1b304835630cb48e01157695ab9649 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 14:29:00 -0500 Subject: [PATCH 31/35] Rework content container for improved flexibility --- .../ContentContainer/ContentContainer.tsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/app/components/ContentContainer/ContentContainer.tsx b/src/app/components/ContentContainer/ContentContainer.tsx index e856d78..cfadfcc 100644 --- a/src/app/components/ContentContainer/ContentContainer.tsx +++ b/src/app/components/ContentContainer/ContentContainer.tsx @@ -1,4 +1,3 @@ -import { GridContainer } from '@trussworks/react-uswds'; import classNames from 'classnames'; interface ContentContainerProps { @@ -11,13 +10,16 @@ export function ContentContainer({ }: ContentContainerProps) { return (
- {children} - +
); } From b42a304bb5b4812bbac8bff92af39b03efd6f5dc Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 14:43:54 -0500 Subject: [PATCH 32/35] px -> rem in custom styles --- src/app/custom-styles.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/custom-styles.css b/src/app/custom-styles.css index af17f5a..2bc6dd8 100644 --- a/src/app/custom-styles.css +++ b/src/app/custom-styles.css @@ -57,9 +57,9 @@ body { } h1 { - font-size: 40px; + font-size: 2.5rem; font-weight: 700; - line-height: 50.28px; + line-height: 3.125rem; text-align: left; } @@ -76,8 +76,8 @@ h3 { color: #224a58; font-family: 'Source Sans Pro', sans-serif; font-weight: 700; - font-size: 22px; - line-height: 27, 65px; + font-size: 1.38rem; + line-height: 27, 4rem; } ul { From f324361beeec8a75e8c6f2de355cfa31c3b9049b Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 16:04:09 -0500 Subject: [PATCH 33/35] fix broken styling --- src/app/custom-styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/custom-styles.css b/src/app/custom-styles.css index 2bc6dd8..750d260 100644 --- a/src/app/custom-styles.css +++ b/src/app/custom-styles.css @@ -77,7 +77,7 @@ h3 { font-family: 'Source Sans Pro', sans-serif; font-weight: 700; font-size: 1.38rem; - line-height: 27, 4rem; + line-height: 1.69rem; } ul { From d0cdcd2de2986302fafedcaa862d1a489f9e8353 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Tue, 5 Nov 2024 16:18:48 -0500 Subject: [PATCH 34/35] fix title alignment in standalone products grid --- src/app/our-products/page.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx index f909569..c78631d 100644 --- a/src/app/our-products/page.tsx +++ b/src/app/our-products/page.tsx @@ -83,11 +83,11 @@ function ProductCard({ linkToHref, }: ProductCardProps) { return ( -
+
Placeholder
-
+

{title}

From de5b522f9d0cf5edb2af6053679d7e82fdc27f16 Mon Sep 17 00:00:00 2001 From: Jake Wheeler Date: Wed, 6 Nov 2024 12:52:53 -0500 Subject: [PATCH 35/35] allow style override for content container --- .../components/ContentContainer/ContentContainer.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/app/components/ContentContainer/ContentContainer.tsx b/src/app/components/ContentContainer/ContentContainer.tsx index cfadfcc..59f5beb 100644 --- a/src/app/components/ContentContainer/ContentContainer.tsx +++ b/src/app/components/ContentContainer/ContentContainer.tsx @@ -3,20 +3,19 @@ import classNames from 'classnames'; interface ContentContainerProps { children: React.ReactNode; align?: boolean; + classes?: string; } export function ContentContainer({ children, align = false, + classes = 'ml-auto mr-auto flex max-w-[87.5rem] flex-col px-10 py-4 sm:px-14 sm:py-20', }: ContentContainerProps) { return (

{children}