Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deployment of 2024-10-08 #16147

Merged
merged 46 commits into from
Oct 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
54ac378
Fixed bug and added integration test
thetaurean Sep 25, 2024
3dc31d0
Added ability to set nextAction in ReportGraphBuilder
thetaurean Sep 25, 2024
d63a0e8
Add destination assertions to empty reports
thetaurean Sep 25, 2024
7148a09
Bump com.sendgrid:sendgrid-java from 4.10.2 to 4.10.3 in /prime-router
dependabot[bot] Sep 29, 2024
f9d1fc7
Bump org.commonmark:commonmark from 0.22.0 to 0.23.0 in /prime-router
dependabot[bot] Sep 29, 2024
16c7d6c
Bump com.networknt:json-schema-validator in /prime-router
dependabot[bot] Sep 29, 2024
f7632bf
Bump commons-io:commons-io from 2.16.1 to 2.17.0 in /prime-router
dependabot[bot] Sep 29, 2024
fbcf541
Bump the hapifhir group across 1 directory with 3 updates
dependabot[bot] Sep 29, 2024
70c23b5
Bump ca.uhn.hapi.fhir:org.hl7.fhir.utilities in /prime-router
dependabot[bot] Sep 29, 2024
187e543
Bump the flyway group in /prime-router with 3 updates
dependabot[bot] Sep 29, 2024
b764d33
Bump com.azure:azure-security-keyvault-secrets in /prime-router
dependabot[bot] Sep 29, 2024
568a0b5
Bump jacksonVersion from 2.17.2 to 2.18.0 in /prime-router
dependabot[bot] Sep 29, 2024
d09f365
Bump org.apache.commons:commons-csv in /prime-router
dependabot[bot] Sep 29, 2024
89f4cca
Bump com.zaxxer:HikariCP from 5.1.0 to 6.0.0 in /prime-router
dependabot[bot] Sep 29, 2024
e57c9c3
Bump com.google.guava:guava in /prime-router
dependabot[bot] Sep 29, 2024
fee4ed1
Bump org.jetbrains.kotlinx:kotlinx-coroutines-reactor in /auth
dependabot[bot] Sep 29, 2024
739b858
Bump org.jetbrains.kotlinx:kotlinx-coroutines-core in /auth
dependabot[bot] Sep 29, 2024
462f239
Bump com.azure.spring:spring-cloud-azure-dependencies in /auth
dependabot[bot] Sep 29, 2024
6736dea
Bump org.springframework.boot from 3.3.2 to 3.3.4 in /auth
dependabot[bot] Sep 29, 2024
837ce36
Bump com.nimbusds:oauth2-oidc-sdk from 11.18 to 11.19.1 in /auth
dependabot[bot] Sep 29, 2024
df18231
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/c…
thetaurean Oct 3, 2024
9ab2278
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/c…
thetaurean Oct 3, 2024
a7b775d
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/o…
thetaurean Oct 3, 2024
4891771
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/j…
thetaurean Oct 3, 2024
b9f84c1
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/c…
thetaurean Oct 3, 2024
26fa764
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/f…
thetaurean Oct 3, 2024
521b186
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/h…
thetaurean Oct 3, 2024
cadabc9
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/c…
thetaurean Oct 3, 2024
a95148f
Merge remote-tracking branch 'origin/dependabot/gradle/auth/org.sprin…
thetaurean Oct 3, 2024
abbb5fe
Merge remote-tracking branch 'origin/dependabot/gradle/auth/org.jetbr…
thetaurean Oct 3, 2024
030b744
Merge remote-tracking branch 'origin/dependabot/gradle/auth/org.jetbr…
thetaurean Oct 3, 2024
de2312b
Merge remote-tracking branch 'origin/dependabot/gradle/auth/com.azure…
thetaurean Oct 3, 2024
fe6f15e
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/o…
thetaurean Oct 3, 2024
add5ae5
Merge remote-tracking branch 'origin/dependabot/gradle/auth/com.nimbu…
thetaurean Oct 3, 2024
47cd863
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/c…
thetaurean Oct 3, 2024
5eb3ba9
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/c…
thetaurean Oct 3, 2024
a400f42
Merge remote-tracking branch 'origin/dependabot/gradle/prime-router/c…
thetaurean Oct 3, 2024
81f5d3c
16052: enable FHIR transforms to change bundle with custom FHIR funct…
mkalish Oct 3, 2024
b18e298
Merge branch 'master' into platform/thetaurean/15524-not-delivering-s…
thetaurean Oct 4, 2024
7c21d2c
Merge branch 'master' into platform/thetaurean/mass-dependabots
thetaurean Oct 4, 2024
3644cf6
Merge pull request #16079 from CDCgov/platform/thetaurean/mass-depend…
thetaurean Oct 7, 2024
ddc1d85
Merge branch 'master' into platform/thetaurean/15524-not-delivering-s…
thetaurean Oct 7, 2024
ce88e76
Merge pull request #16002 from CDCgov/platform/thetaurean/15524-not-d…
thetaurean Oct 7, 2024
09c814a
roadmap content update
etanb Oct 7, 2024
6bd0ad0
pr comments
etanb Oct 7, 2024
0047f37
Merge pull request #16138 from CDCgov/experience/15973/update-roadmap
etanb Oct 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions auth/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply(from = rootProject.file("buildSrc/shared.gradle.kts"))

plugins {
id("org.springframework.boot") version "3.3.2"
id("org.springframework.boot") version "3.3.4"
id("io.spring.dependency-management") version "1.1.6"
id("reportstream.project-conventions")
kotlin("plugin.spring") version "2.0.0"
Expand All @@ -14,8 +14,8 @@ dependencies {
implementation(project(":shared"))

implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.8.1")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.9.0")

/**
* Spring WebFlux was chosen for this project to be able to better handle periods of high traffic
Expand All @@ -24,7 +24,7 @@ dependencies {
implementation("org.springframework.cloud:spring-cloud-gateway-webflux")
implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")

runtimeOnly("com.nimbusds:oauth2-oidc-sdk:11.18")
runtimeOnly("com.nimbusds:oauth2-oidc-sdk:11.19.1")

testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("org.springframework.security:spring-security-test")
Expand All @@ -45,7 +45,7 @@ configurations.all {

dependencyManagement {
imports {
mavenBom("com.azure.spring:spring-cloud-azure-dependencies:5.14.0")
mavenBom("com.azure.spring:spring-cloud-azure-dependencies:5.16.0")
mavenBom("org.springframework.cloud:spring-cloud-dependencies:2023.0.3")
}
}
Expand Down
34 changes: 14 additions & 20 deletions frontend-react/src/content/about/roadmap.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import site from "../../content/site.json"
<Sidenav />
</LayoutSidenav>

<p className="usa-timestamp">Last updated: August 05, 2024</p>
<p className="usa-timestamp">Last updated: October 07, 2024</p>

## Objectives for FY24
Learn about our goals and how we are measuring success for this fiscal year (FY), which runs from October 2023 through September 2024.
Expand Down Expand Up @@ -46,37 +46,37 @@ Learn about our goals and how we are measuring success for this fiscal year (FY)
tag: "recently-completed",
body: (
<p>
Arizona, Colorado, and Kansas are able to receive flu and RSV data from ReportStream.
Arkansas, Florida, Guam, Idaho, Illinois, Louisiana, Maine, Massachusetts, Minnesota, and Oklahoma are able to receive flu and RSV data from ReportStream.
</p>
),
},
{
tag: "working-on-now",
body: (
<p>
Onboard or update connections for Arkansas, Connecticut, Florida, Idaho, Illinois, Iowa, Kentucky, Louisiana, Maine, Massachusetts, Michigan, Minnesota, Missouri, Montana, Oklahoma, Virginia, Washington D.C.
Onboard or update connections for Alabama, Connecticut, Delaware, Indiana, Iowa, Kentucky, Michigan, Mississippi, Missouri, Montana, New Hampshire, New Jersey, New Mexico, Ohio, Pennsylvania, Puerto Rico, Republic of Marshall Islands, South Dakota, Tennessee, Vermont, Virginia, Washington, Washington D.C., and Wyoming.
</p>
),
},
{
tag: "next",
body: (
<p>
Support remaining STLTs to connect or update their connections to be able to receive additional conditions.
</p>
<p>Support remaining STLTs to connect or update their connections to be able to receive additional conditions.</p>
),
},
{
title:<p>Partner with <A href="https://www.simplereport.gov/">SimpleReport</A> to help nontraditional and lower-resourced testing sites and facilities report test results and send data to STLTs and the CDC.</p>,
tag: "recently-completed",
body: (
<p>California, Nevada, and New York are receiving flu A/B or RSV data.</p>
<p>Contacted nontraditional and lower-resourced HIV senders in Texas as part of targeted health equity improvement work.</p>
),
},
{
tag: "recently-completed",
body: (
<p>Identify nontraditional and lower-resourced HIV senders in Texas as part of targeted health equity improvement work.</p>
<p>
Alaska, Arizona, California, Colorado, Florida, Hawaii, Idaho, Illinois, Louisiana, Massachusetts, Minnesota, Nevada, New York, and Rhode Island are receiving flu A/B or RSV data.
</p>
),
},
{
Expand All @@ -86,45 +86,39 @@ Learn about our goals and how we are measuring success for this fiscal year (FY)
),
},
{
tag: "next",
tag: "working-on-now",
body: (
<p>Identify more regions in California to exchange HIV test result data.</p>
<p>Add support for hepatitis C and other STI reporting through SimpleReport.</p>
),
},
{
tag: "next",
body: (
<p>Add support for hepatitis C reporting through SimpleReport.</p>
<p>Add support for more conditions reporting through SimpleReport.</p>
),
},
{
title:<p>Help at-home test takers and test manufacturers easily report results to STLTs and CDC.</p>,
tag: "recently-completed",
body: (
<p>Support file validation against different HL7 profiles, starting with the RADx MARS custom <A href="https://www.cdc.gov/vaccines/programs/iis/technical-guidance/downloads/hl7guide-1-5-2014-11.pdf" target="_blank">NIST HL7 2.5.1</A> profile.</p>
<p>Route test results from <A href="https://learn.makemytestcount.org/" target="_blank">MakeMyTestCount.org</A> to one STLT in test environment.</p>
),
},
{
tag: "working-on-now",
body: (
<p>Route test results from <A href="https://learn.makemytestcount.org/" target="_blank">MakeMyTestCount.org</A> to one STLT in test environment.</p>
<p>Route test results from <A href="https://learn.makemytestcount.org/" target="_blank">MakeMyTestCount.org</A> to one STLT in production.</p>
),
},
{
tag: "next",
body: (
<p>Route test results from <A href="https://learn.makemytestcount.org/" target="_blank">MakeMyTestCount.org</A> to one STLT in production.</p>
<p>Route test results from another OTC testing (point-of-care) sender to one STLT in production.</p>
),
},
{
title: "Facilitate electronic laboratory reporting (ELR) for the CDC infectious disease labs and transmit to STLTs. ",
tag: "recently-completed",
body: (
<p>Test data pipeline with two STLT partners to transmit test results.</p>
),
},
{
tag: "working-on-now",
body: (
<p>Complete final internal review of test result data transfer before moving to production.</p>
),
Expand Down
70 changes: 38 additions & 32 deletions prime-router/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ apply(from = rootProject.file("buildSrc/shared.gradle.kts"))
plugins {
val kotlinVersion by System.getProperties()
id("reportstream.project-conventions")
id("org.flywaydb.flyway") version "10.18.0"
id("org.flywaydb.flyway") version "10.18.2"
id("nu.studer.jooq") version "9.0"
id("com.github.johnrengelman.shadow") version "8.1.1"
id("com.microsoft.azure.azurefunctions") version "1.16.1"
Expand Down Expand Up @@ -75,7 +75,7 @@ val javaVersion = when (appJvmTarget) {
}
val ktorVersion = "2.3.12"
val kotlinVersion by System.getProperties()
val jacksonVersion = "2.17.2"
val jacksonVersion = "2.18.0"
jacoco.toolVersion = "0.8.12"

// Local database information, first one wins:
Expand Down Expand Up @@ -271,16 +271,17 @@ sourceSets.create("testIntegration") {
runtimeClasspath += sourceSets["main"].output
}

// Add generated version object
sourceSets["main"].java.srcDir("$buildDir/generated-src/version")

val compileTestIntegrationKotlin: KotlinCompile by tasks
compileTestIntegrationKotlin.kotlinOptions.jvmTarget = appJvmTarget

val testIntegrationImplementation: Configuration by configurations.getting {
extendsFrom(configurations["testImplementation"])
}

tasks.withType<KotlinCompile> {
mustRunAfter("generateVersionObject")
}

configurations["testIntegrationRuntimeOnly"].extendsFrom(configurations["runtimeOnly"])

tasks.register<Test>("testIntegration") {
Expand Down Expand Up @@ -353,7 +354,7 @@ tasks.withType<Test>().configureEach {
}

tasks.processResources {
dependsOn("generateVersionObject")
mustRunAfter("generateVersionObject")
// Set the proper build values in the build.properties file
filesMatching("build.properties") {
val dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd")
Expand Down Expand Up @@ -427,7 +428,7 @@ tasks.register<JavaExec>("primeCLI") {
// Use arguments passed by another task in the project.extra["cliArgs"] property.
doFirst {
if (project.extra.has("cliArgs") && project.extra["cliArgs"] is List<*>) {
args = (project.extra["cliArgs"] as List<*>).filterIsInstance(String::class.java)
args = (project.extra["cliArgs"] as List<*>).filterIsInstance<String>()
} else if (args.isNullOrEmpty()) {
args = listOf("-h")
println("primeCLI Gradle task usage: gradle primeCLI --args='<args>'")
Expand Down Expand Up @@ -521,12 +522,13 @@ tasks.register("generateVersionFile") {
}
}

tasks.register("generateVersionObject") {
val sourceDir = file("$buildDir/generated-src/version")
val sourceFile = file("$sourceDir/Version.kt")
sourceDir.mkdirs()
sourceFile.writeText(
"""
val generateVersionObject = tasks.register("generateVersionObject") {
doLast {
val sourceDir = file("$buildDir/generated-src/version/src/main/kotlin/gov/cdc/prime/router")
val sourceFile = file("$sourceDir/Version.kt")
sourceDir.mkdirs()
sourceFile.writeText(
"""
package gov.cdc.prime.router.version

/**
Expand All @@ -537,7 +539,12 @@ tasks.register("generateVersionObject") {
const val commitId = "$commitId"
}
""".trimIndent()
)
)
}
}
sourceSets.getByName("main").kotlin.srcDir("$buildDir/generated-src/version/src/main/kotlin")
tasks.named("compileKotlin").configure {
dependsOn(generateVersionObject)
}

val azureResourcesTmpDir = File(buildDir, "$azureFunctionsDir-resources/$azureAppName")
Expand Down Expand Up @@ -645,7 +652,6 @@ task<Exec>("uploadSwaggerUI") {
}

tasks.register("killFunc") {
doLast {
val processName = "func"
if (org.gradle.internal.os.OperatingSystem.current().isWindows) {
exec {
Expand All @@ -658,7 +664,6 @@ tasks.register("killFunc") {
commandLine = listOf("sh", "-c", "pkill -9 $processName || true")
}
}
}
}

tasks.register("run") {
Expand Down Expand Up @@ -772,6 +777,7 @@ tasks.named<nu.studer.gradle.jooq.JooqGenerate>("generateJooq") {
tasks.register("compile") {
group = rootProject.description ?: ""
description = "Compile the code"
dependsOn("generateVersionObject")
dependsOn("compileKotlin")
}

Expand Down Expand Up @@ -833,7 +839,7 @@ buildscript {
// will need to be removed once this issue is resolved in Maven.
classpath("net.minidev:json-smart:2.5.1")
// as per flyway v10 docs the postgres flyway module must be on the project buildpath
classpath("org.flywaydb:flyway-database-postgresql:10.18.0")
classpath("org.flywaydb:flyway-database-postgresql:10.18.2")
}
}

Expand Down Expand Up @@ -861,7 +867,7 @@ dependencies {
implementation("com.azure:azure-storage-queue:12.22.0") {
exclude(group = "com.azure", module = "azure-core")
}
implementation("com.azure:azure-security-keyvault-secrets:4.8.6") {
implementation("com.azure:azure-security-keyvault-secrets:4.8.7") {
exclude(group = "com.azure", module = "azure-core")
exclude(group = "com.azure", module = "azure-core-http-netty")
}
Expand Down Expand Up @@ -891,36 +897,36 @@ dependencies {
branch = "master"
}
}
implementation("ca.uhn.hapi.fhir:hapi-fhir-structures-r4:7.2.2")
implementation("ca.uhn.hapi.fhir:hapi-fhir-structures-r4:7.4.2")
// https://mvnrepository.com/artifact/ca.uhn.hapi.fhir/hapi-fhir-caching-caffeine
implementation("ca.uhn.hapi.fhir:hapi-fhir-caching-caffeine:7.2.2")
implementation("ca.uhn.hapi.fhir:hapi-fhir-client:7.2.2")
implementation("ca.uhn.hapi.fhir:hapi-fhir-caching-caffeine:7.4.2")
implementation("ca.uhn.hapi.fhir:hapi-fhir-client:7.4.2")
// pin
implementation("ca.uhn.hapi.fhir:org.hl7.fhir.utilities:6.3.24")
implementation("ca.uhn.hapi.fhir:org.hl7.fhir.utilities:6.3.29")
implementation("ca.uhn.hapi.fhir:org.hl7.fhir.r4:6.3.24")
implementation("ca.uhn.hapi:hapi-base:2.5.1")
implementation("ca.uhn.hapi:hapi-structures-v251:2.5.1")
implementation("ca.uhn.hapi:hapi-structures-v27:2.5.1")
implementation("com.googlecode.libphonenumber:libphonenumber:8.13.46")
implementation("org.thymeleaf:thymeleaf:3.1.2.RELEASE")
implementation("com.sendgrid:sendgrid-java:4.10.2")
implementation("com.sendgrid:sendgrid-java:4.10.3")
implementation("com.okta.jwt:okta-jwt-verifier:0.5.7")
implementation("org.json:json:20240303")
// DO NOT INCREMENT SSHJ to a newer version without first thoroughly testing it locally.
implementation("com.hierynomus:sshj:0.38.0")
implementation("com.jcraft:jsch:0.1.55")
implementation("org.apache.poi:poi:5.3.0")
implementation("org.apache.commons:commons-csv:1.11.0")
implementation("org.apache.commons:commons-csv:1.12.0")
implementation("org.apache.commons:commons-lang3:3.15.0")
implementation("org.apache.commons:commons-text:1.12.0")
implementation("commons-codec:commons-codec:1.17.1")
implementation("commons-io:commons-io:2.16.1")
implementation("commons-io:commons-io:2.17.0")
implementation("org.postgresql:postgresql:42.7.4")
implementation("com.zaxxer:HikariCP:5.1.0")
implementation("org.flywaydb:flyway-core:10.18.0")
implementation("org.flywaydb:flyway-database-postgresql:10.18.0")
implementation("org.commonmark:commonmark:0.22.0")
implementation("com.google.guava:guava:33.3.0-jre")
implementation("com.zaxxer:HikariCP:6.0.0")
implementation("org.flywaydb:flyway-core:10.18.2")
implementation("org.flywaydb:flyway-database-postgresql:10.18.2")
implementation("org.commonmark:commonmark:0.23.0")
implementation("com.google.guava:guava:33.3.1-jre")
implementation("com.helger.as2:as2-lib:5.1.2")
implementation("org.bouncycastle:bcprov-jdk15to18:1.78.1")
implementation("org.bouncycastle:bcprov-jdk18on:1.78.1")
Expand All @@ -944,7 +950,7 @@ dependencies {
implementation("org.apache.poi:poi:5.3.0")
implementation("org.apache.poi:poi-ooxml:5.3.0")
implementation("org.apache.commons:commons-compress:1.27.1")
implementation("commons-io:commons-io:2.16.1")
implementation("commons-io:commons-io:2.17.0")
implementation("com.anyascii:anyascii:0.3.2")
// force jsoup since [email protected]+ has not updated
implementation("org.jsoup:jsoup:1.18.1")
Expand Down Expand Up @@ -972,7 +978,7 @@ dependencies {
implementation("xalan:xalan:2.7.3")

// validations
implementation("com.networknt:json-schema-validator:1.5.1")
implementation("com.networknt:json-schema-validator:1.5.2")
implementation("io.konform:konform-jvm:0.4.0")

runtimeOnly("com.okta.jwt:okta-jwt-verifier-impl:0.5.7")
Expand Down
3 changes: 2 additions & 1 deletion prime-router/docs/universal-pipeline/translate.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ The two kinds of transforms work the same at a high level. The schema enumerates

- contains a FHIR path to the resource that needs to be transformed
- a condition specifying whether the resource should be transformed
- how the resource should get transformed
- how the resource should get transformed; a resource can be transformed either by setting it to a value or applying a
FHIR function

The primary difference between the FHIR and HL7 schemas is that the HL7 converter has special handling for converting
a FHIR resource into an HL7 segment or component.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@
"type": "string"
}
},
"function": {
"type": "string"
},
"valueSet": {
"anyOf": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,9 @@ object FhirToFhirTransformValidation : KonformValidation<FhirTransformSchema>()
addConstraint("Invalid FHIR path: {value}", test = ::validFhirPath)
}
}
addConstraint("Value and function cannot both be set") { element ->
!(element.value != null && element.function != null)
}
}
}
}
Expand Down
Loading
Loading