From d8613faf06a7646611d428c3e8266a810e2e7c98 Mon Sep 17 00:00:00 2001 From: Mitchell Alessio <5306896+malessi@users.noreply.github.com> Date: Tue, 14 Jan 2025 10:35:41 -0500 Subject: [PATCH 01/13] BFD-3700: Pipeline submits its own per-RIF and per-manifest metrics to CloudWatch (#2514) --- .../bfd/pipeline/app/AppConfiguration.java | 9 +- .../app/DefaultDataSetMonitorListener.java | 130 +++++++++++++++++- .../bfd/pipeline/app/PipelineApplication.java | 3 +- .../bfd/pipeline/ccw/rif/CcwRifLoadJob.java | 102 ++++++++++++++ .../ccw/rif/extract/s3/S3RifFile.java | 3 +- 5 files changed, 243 insertions(+), 4 deletions(-) diff --git a/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/AppConfiguration.java b/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/AppConfiguration.java index 09fbe7ede5..be3aaa1fc8 100644 --- a/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/AppConfiguration.java +++ b/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/AppConfiguration.java @@ -5,6 +5,7 @@ import gov.cms.bfd.model.rda.MessageError; import gov.cms.bfd.model.rif.RifFileType; import gov.cms.bfd.model.rif.RifRecordEvent; +import gov.cms.bfd.pipeline.ccw.rif.CcwRifLoadJob; import gov.cms.bfd.pipeline.ccw.rif.CcwRifLoadOptions; import gov.cms.bfd.pipeline.ccw.rif.extract.ExtractionOptions; import gov.cms.bfd.pipeline.ccw.rif.extract.s3.DataSetManifest; @@ -373,7 +374,13 @@ public final class AppConfiguration extends BaseAppConfiguration { * auto-generated aggregate metric names with suffixes like {@code .avg}. */ public static final Set MICROMETER_CW_ALLOWED_METRIC_NAMES = - Set.of("FissClaimRdaSink.change.latency.millis", "McsClaimRdaSink.change.latency.millis"); + Set.of( + "FissClaimRdaSink.change.latency.millis", + "McsClaimRdaSink.change.latency.millis", + CcwRifLoadJob.Metrics.MANIFEST_PROCESSING_ACTIVE_TIMER_NAME, + CcwRifLoadJob.Metrics.MANIFEST_PROCESSING_TOTAL_TIMER_NAME, + DefaultDataSetMonitorListener.Metrics.RIF_FILE_PROCESSING_ACTIVE_TIMER_NAME, + DefaultDataSetMonitorListener.Metrics.RIF_FILE_PROCESSING_TOTAL_TIMER_NAME); /** * The CCW rif load options. This can be null if the CCW job is not configured, Optional is not diff --git a/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/DefaultDataSetMonitorListener.java b/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/DefaultDataSetMonitorListener.java index e0acda9a56..a9aab56e42 100644 --- a/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/DefaultDataSetMonitorListener.java +++ b/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/DefaultDataSetMonitorListener.java @@ -9,9 +9,16 @@ import gov.cms.bfd.pipeline.ccw.rif.CcwRifLoadJob; import gov.cms.bfd.pipeline.ccw.rif.extract.RifFileRecords; import gov.cms.bfd.pipeline.ccw.rif.extract.RifFilesProcessor; +import gov.cms.bfd.pipeline.ccw.rif.extract.s3.DataSetManifest; import gov.cms.bfd.pipeline.ccw.rif.extract.s3.DataSetMonitorListener; +import gov.cms.bfd.pipeline.ccw.rif.extract.s3.S3RifFile; import gov.cms.bfd.pipeline.ccw.rif.load.RifLoader; +import io.micrometer.core.instrument.LongTaskTimer; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tag; +import java.util.List; import java.util.concurrent.TimeUnit; +import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,6 +37,9 @@ public final class DefaultDataSetMonitorListener implements DataSetMonitorListen /** Metrics for this class. */ private final MetricRegistry appMetrics; + /** Micrometer metrics for this class. */ + private final Metrics metrics; + /** Handles processing of new RIF files. */ private final RifFilesProcessor rifProcessor; @@ -40,14 +50,19 @@ public final class DefaultDataSetMonitorListener implements DataSetMonitorListen * Initializes the instance. * * @param appMetrics the {@link MetricRegistry} for the application + * @param micrometerMetrics the {@link MeterRegistry} for the application * @param rifProcessor the {@link RifFilesProcessor} for the application * @param rifLoader the {@link RifLoader} for the application */ DefaultDataSetMonitorListener( - MetricRegistry appMetrics, RifFilesProcessor rifProcessor, RifLoader rifLoader) { + MetricRegistry appMetrics, + MeterRegistry micrometerMetrics, + RifFilesProcessor rifProcessor, + RifLoader rifLoader) { this.appMetrics = appMetrics; this.rifProcessor = rifProcessor; this.rifLoader = rifLoader; + this.metrics = new Metrics(micrometerMetrics); } @Override @@ -66,6 +81,10 @@ public void dataAvailable(RifFilesEvent rifFilesEvent) throws Exception { Slf4jReporter.forRegistry(rifFileEvent.getEventMetrics()).outputTo(LOGGER).build(); dataSetFileMetricsReporter.start(2, TimeUnit.MINUTES); + final LongTaskTimer.Sample activeTimer = metrics.createActiveTimerForRif(rifFile).start(); + final io.micrometer.core.instrument.Timer.Sample totalTimer = + io.micrometer.core.instrument.Timer.start(); + try { LOGGER.info("Processing file {}", rifFile.getDisplayName()); rifFile.markAsStarted(); @@ -82,6 +101,9 @@ public void dataAvailable(RifFilesEvent rifFilesEvent) throws Exception { failure = e; } + activeTimer.stop(); + totalTimer.stop(metrics.createTotalTimerForRif(rifFile)); + dataSetFileMetricsReporter.stop(); dataSetFileMetricsReporter.report(); @@ -104,4 +126,110 @@ public void dataAvailable(RifFilesEvent rifFilesEvent) throws Exception { public void noDataAvailable() { // Nothing to do here. } + + /** Metrics for the {@link DefaultDataSetMonitorListener}'s operations. */ + @RequiredArgsConstructor + public static final class Metrics { + /** + * Name of the per-{@link RifFile} data processing {@link LongTaskTimer}s that actively, at each + * Micrometer reporting interval, records and reports the duration of processing of a given + * {@link RifFile}. + * + * @implNote We use the class name of {@link CcwRifLoadJob} as the metric prefix instead of + * {@link DefaultDataSetMonitorListener} as there are other CCW RIF-related metrics + * generated from the {@link CcwRifLoadJob}. Additionally, {@link + * DefaultDataSetMonitorListener} is indirectly invoked by {@link CcwRifLoadJob} + */ + public static final String RIF_FILE_PROCESSING_ACTIVE_TIMER_NAME = + String.format("%s.rif_file_processing.active", CcwRifLoadJob.class.getSimpleName()); + + /** + * Name of the per-{@link RifFile} data processing {@link Timer}s that report the final duration + * of processing once the {@link RifFile} is processed. + * + * @implNote We use the class name of {@link CcwRifLoadJob} as the metric prefix instead of + * {@link DefaultDataSetMonitorListener} as there are other CCW RIF-related metrics + * generated from the {@link CcwRifLoadJob}. Additionally, {@link + * DefaultDataSetMonitorListener} is indirectly invoked by {@link CcwRifLoadJob} + */ + public static final String RIF_FILE_PROCESSING_TOTAL_TIMER_NAME = + String.format("%s.rif_file_processing.total", CcwRifLoadJob.class.getSimpleName()); + + /** + * Tag indicating which data set (identified by its timestamp in S3) a given metric measured. + */ + private static final String TAG_DATA_SET_TIMESTAMP = "data_set_timestamp"; + + /** Tag indicating which RIF file a given metric measured. */ + private static final String TAG_RIF_FILE = "rif_file"; + + /** + * Tag indicating whether the data load associated with the measured metric was synthetic or + * not. + */ + private static final String TAG_IS_SYNTHETIC = "is_synthetic"; + + /** Tag indicating which {@link DataSetManifest} was associated with the measured metric. */ + private static final String TAG_MANIFEST = "manifest"; + + /** Micrometer {@link MeterRegistry} for the Pipeline application. */ + private final MeterRegistry micrometerMetrics; + + /** + * Creates a {@link LongTaskTimer} for a given {@link RifFile} so that the time it takes to + * process the RIF can be measured while processing is ongoing. Should be called prior to + * processing a {@link RifFile}. + * + * @param rifFile the {@link RifFile} to time + * @return the {@link LongTaskTimer} that will be used to measure the ongoing load time of the + * {@link RifFile} + */ + LongTaskTimer createActiveTimerForRif(RifFile rifFile) { + return LongTaskTimer.builder(RIF_FILE_PROCESSING_ACTIVE_TIMER_NAME) + .tags(getTags(rifFile)) + .register(micrometerMetrics); + } + + /** + * Creates a {@link io.micrometer.core.instrument.Timer} for a given {@link RifFile} so that the + * total time it takes to process the RIF can be recorded once a {@link RifFile} is done + * processing. Should be used with {@link + * io.micrometer.core.instrument.Timer.Sample#stop(io.micrometer.core.instrument.Timer)} after + * processing a {@link RifFile} to record the total duration. + * + * @param rifFile the {@link RifFile} to time + * @return the {@link LongTaskTimer} that will be used to measure the total time taken to load + * the {@link RifFile} + */ + io.micrometer.core.instrument.Timer createTotalTimerForRif(RifFile rifFile) { + return io.micrometer.core.instrument.Timer.builder(RIF_FILE_PROCESSING_TOTAL_TIMER_NAME) + .tags(getTags(rifFile)) + .register(micrometerMetrics); + } + + /** + * Returns a {@link List} of default {@link Tag}s that is used to disambiguate a given metric + * based on its corresponding {@link DataSetManifest}. + * + * @param rifFile {@link RifFile} from which several properties will be used to set relevant + * {@link Tag}s + * @return a {@link List} of {@link Tag}s including relevant information from {@code rifFile} + */ + private List getTags(RifFile rifFile) { + final var rifFileTag = Tag.of(TAG_RIF_FILE, rifFile.getFileType().name().toLowerCase()); + if (rifFile instanceof S3RifFile s3RifFile) { + final var manifest = s3RifFile.getManifestEntry().getParentManifest(); + final var manifestFullpath = manifest.getIncomingS3Key(); + final var manifestFilename = + manifestFullpath.substring(manifestFullpath.lastIndexOf("/") + 1); + return List.of( + Tag.of(TAG_DATA_SET_TIMESTAMP, manifest.getTimestampText()), + Tag.of(TAG_IS_SYNTHETIC, Boolean.toString(manifest.isSyntheticData())), + rifFileTag, + Tag.of(TAG_MANIFEST, manifestFilename)); + } + + return List.of(rifFileTag); + } + } } diff --git a/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/PipelineApplication.java b/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/PipelineApplication.java index f2854163e3..270b96ec92 100644 --- a/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/PipelineApplication.java +++ b/apps/bfd-pipeline/bfd-pipeline-app/src/main/java/gov/cms/bfd/pipeline/app/PipelineApplication.java @@ -537,7 +537,8 @@ private PipelineJob createCcwRifLoadJob( * each data set that is found. */ DataSetMonitorListener dataSetMonitorListener = - new DefaultDataSetMonitorListener(appState.getMetrics(), rifProcessor, rifLoader); + new DefaultDataSetMonitorListener( + appState.getMetrics(), appState.getMeters(), rifProcessor, rifLoader); var s3Factory = new AwsS3ClientFactory(loadOptions.getExtractionOptions().getS3ClientConfig()); // Tell SQ it's ok not to use try-finally here since this will be closed by the CcwRifLoadJob. @SuppressWarnings("java:S2095") diff --git a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/src/main/java/gov/cms/bfd/pipeline/ccw/rif/CcwRifLoadJob.java b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/src/main/java/gov/cms/bfd/pipeline/ccw/rif/CcwRifLoadJob.java index a88cc2ef4c..5b8eea8224 100644 --- a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/src/main/java/gov/cms/bfd/pipeline/ccw/rif/CcwRifLoadJob.java +++ b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/src/main/java/gov/cms/bfd/pipeline/ccw/rif/CcwRifLoadJob.java @@ -18,6 +18,10 @@ import gov.cms.bfd.pipeline.sharedutils.PipelineJobOutcome; import gov.cms.bfd.pipeline.sharedutils.PipelineJobSchedule; import gov.cms.bfd.sharedutils.exceptions.BadCodeMonkeyException; +import io.micrometer.core.instrument.LongTaskTimer; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tag; +import io.micrometer.core.instrument.Timer; import java.io.IOException; import java.time.Duration; import java.time.Instant; @@ -31,6 +35,7 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.regex.Pattern; +import lombok.RequiredArgsConstructor; import org.apache.commons.io.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -157,6 +162,9 @@ public final class CcwRifLoadJob implements PipelineJob { /** The application metrics. */ private final MetricRegistry appMetrics; + /** Metrics for operations within this job. */ + private final Metrics loadJobMetrics; + /** The extraction options. */ private final ExtractionOptions options; @@ -210,6 +218,7 @@ public CcwRifLoadJob( this.runInterval = runInterval; this.statusReporter = statusReporter; downloadService = Executors.newSingleThreadScheduledExecutor(); + loadJobMetrics = new Metrics(appState.getMeters()); } @Override @@ -348,11 +357,16 @@ public PipelineJobOutcome call() throws Exception { * processing multiple data sets in parallel (which would lead to data * consistency problems). */ + final var activeTimer = + loadJobMetrics.createActiveTimerForManifest(manifestToProcess).start(); + final var totalTimer = Timer.start(); statusReporter.reportProcessingManifestData(manifestToProcess.getIncomingS3Key()); dataSetQueue.markAsStarted(manifestRecord); listener.dataAvailable(rifFilesEvent); statusReporter.reportCompletedManifest(manifestToProcess.getIncomingS3Key()); dataSetQueue.markAsProcessed(manifestRecord); + activeTimer.stop(); + totalTimer.stop(loadJobMetrics.createTotalTimerForManifest(manifestToProcess)); LOGGER.info(LOG_MESSAGE_DATA_SET_COMPLETE); /* @@ -527,4 +541,92 @@ private boolean isProcessingRequired(S3DataFile dataFileRecord) { dataFileRecord.getFileName()); return false; } + + /** Micrometer metrics and helpers for measuring {@link CcwRifLoadJob} operations. */ + @RequiredArgsConstructor + public static final class Metrics { + + /** + * Name of the per-{@link DataSetManifest} {@link LongTaskTimer}s that actively, at each + * Micrometer reporting interval, records and reports the duration of processing of a given + * {@link DataSetManifest}. + */ + public static final String MANIFEST_PROCESSING_ACTIVE_TIMER_NAME = + String.format("%s.manifest_processing.active", CcwRifLoadJob.class.getSimpleName()); + + /** + * Name of the per-{@link DataSetManifest} {@link Timer}s that report the final duration of + * processing once the {@link DataSetManifest} is processed. + */ + public static final String MANIFEST_PROCESSING_TOTAL_TIMER_NAME = + String.format("%s.manifest_processing.total", CcwRifLoadJob.class.getSimpleName()); + + /** + * Tag indicating which data set (identified by its timestamp in S3) a given metric measured. + */ + private static final String TAG_DATA_SET_TIMESTAMP = "data_set_timestamp"; + + /** + * Tag indicating whether the data load associated with the measured metric was synthetic or + * not. + */ + private static final String TAG_IS_SYNTHETIC = "is_synthetic"; + + /** Tag indicating which {@link DataSetManifest} was associated with the measured metric. */ + private static final String TAG_MANIFEST = "manifest"; + + /** Micrometer {@link MeterRegistry} for the Pipeline application. */ + private final MeterRegistry appMetrics; + + /** + * Creates a {@link LongTaskTimer} for a given {@link DataSetManifest} so that the time it takes + * to process the manifest can be measured and recorded while processing is ongoing. Should be + * called prior to processing a {@link DataSetManifest}. + * + * @param manifest the {@link DataSetManifest} to time + * @return the {@link LongTaskTimer} that will be used to actively measure and record the time + * taken to load the {@link DataSetManifest} + */ + LongTaskTimer createActiveTimerForManifest(DataSetManifest manifest) { + return LongTaskTimer.builder(MANIFEST_PROCESSING_ACTIVE_TIMER_NAME) + .tags(getTags(manifest)) + .register(appMetrics); + } + + /** + * Creates a {@link Timer} for a given {@link DataSetManifest} so that the total time it takes + * to process the manifest can be recorded. Should be used with {@link Timer.Sample#stop(Timer)} + * after processing a {@link DataSetManifest} to record the total duration. + * + * @param manifest the {@link DataSetManifest} to time + * @return the {@link LongTaskTimer} that will be used to record the total time taken to load + * the {@link DataSetManifest} + */ + Timer createTotalTimerForManifest(DataSetManifest manifest) { + return Timer.builder(MANIFEST_PROCESSING_TOTAL_TIMER_NAME) + .tags(getTags(manifest)) + .register(appMetrics); + } + + /** + * Returns a {@link List} of default {@link Tag}s that is used to disambiguate a given metric + * based on its corresponding {@link DataSetManifest}. + * + * @param manifest {@link DataSetManifest} from which the values of {@link + * DataSetManifest#getTimestampText()}, {@link DataSetManifest#isSyntheticData()} and {@link + * DataSetManifest#getIncomingS3Key()} will be used to set the {@link + * #TAG_DATA_SET_TIMESTAMP}, {@link #TAG_IS_SYNTHETIC} and {@link #TAG_MANIFEST} {@link + * Tag}s, respectively + * @return a {@link List} of {@link Tag}s including relevant information from {@code manifest} + */ + private List getTags(DataSetManifest manifest) { + final var manifestFullpath = manifest.getIncomingS3Key(); + final var manifestFilename = + manifestFullpath.substring(manifestFullpath.lastIndexOf("/") + 1); + return List.of( + Tag.of(TAG_DATA_SET_TIMESTAMP, manifest.getTimestampText()), + Tag.of(TAG_IS_SYNTHETIC, Boolean.toString(manifest.isSyntheticData())), + Tag.of(TAG_MANIFEST, manifestFilename)); + } + } } diff --git a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/src/main/java/gov/cms/bfd/pipeline/ccw/rif/extract/s3/S3RifFile.java b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/src/main/java/gov/cms/bfd/pipeline/ccw/rif/extract/s3/S3RifFile.java index 890f4d7e85..08e0b85a1a 100644 --- a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/src/main/java/gov/cms/bfd/pipeline/ccw/rif/extract/s3/S3RifFile.java +++ b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/src/main/java/gov/cms/bfd/pipeline/ccw/rif/extract/s3/S3RifFile.java @@ -18,6 +18,7 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import lombok.Getter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,7 +33,7 @@ public final class S3RifFile implements RifFile { private final MetricRegistry appMetrics; /** The manifest data. */ - private final DataSetManifestEntry manifestEntry; + @Getter private final DataSetManifestEntry manifestEntry; /** The manifest download result. */ private final Future manifestEntryDownload; From 67c123e4f8a1bb46cbe510a66cc86323f18cd22c Mon Sep 17 00:00:00 2001 From: Mitchell Alessio <5306896+malessi@users.noreply.github.com> Date: Tue, 14 Jan 2025 11:00:25 -0500 Subject: [PATCH 02/13] BFD-3761: Enable RDS observability features for RDS Autoscaling Reader Nodes (#2517) --- ops/terraform/env/mgmt/kms-data-keys.tf | 46 +++++++++++++++ .../services/common/aurora-cluster.tf | 56 +++++++++++++------ 2 files changed, 85 insertions(+), 17 deletions(-) diff --git a/ops/terraform/env/mgmt/kms-data-keys.tf b/ops/terraform/env/mgmt/kms-data-keys.tf index 28141f4014..c516c24e3b 100644 --- a/ops/terraform/env/mgmt/kms-data-keys.tf +++ b/ops/terraform/env/mgmt/kms-data-keys.tf @@ -128,6 +128,52 @@ data "aws_iam_policy_document" "data_keys" { resources = ["*"] } + # Allow RDS app autoscaling to use the key to encrypt/decrypt data, specifically for Performance + # Insights + statement { + sid = "AllowRdsKeyUsage" + effect = "Allow" + principals { + type = "AWS" + identifiers = [ + "arn:aws:iam::${local.account_id}:role/aws-service-role/rds.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_RDSCluster" + ] + } + actions = [ + "kms:Encrypt", + "kms:Decrypt", + "kms:ReEncrypt*", + "kms:GenerateDataKey", + "kms:GenerateDataKeyWithoutPlaintext", + "kms:DescribeKey", + ] + resources = ["*"] + } + + # Allow RDS app autoscaling to create and revoke grants for the key, specifically for Performance + # Insights + statement { + sid = "AllowRdsGrantUsage" + effect = "Allow" + principals { + type = "AWS" + identifiers = [ + "arn:aws:iam::${local.account_id}:role/aws-service-role/rds.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_RDSCluster" + ] + } + actions = [ + "kms:CreateGrant", + "kms:ListGrants", + "kms:RevokeGrant", + ] + condition { + test = "Bool" + variable = "kms:GrantIsForAWSResource" + values = ["true"] + } + resources = ["*"] + } + # Allow cloudwatch to use the key to decrypt data statement { sid = "AllowCloudWatchKeyUsage" diff --git a/ops/terraform/services/common/aurora-cluster.tf b/ops/terraform/services/common/aurora-cluster.tf index e02ddabf13..1e4f29c03b 100644 --- a/ops/terraform/services/common/aurora-cluster.tf +++ b/ops/terraform/services/common/aurora-cluster.tf @@ -83,6 +83,32 @@ resource "aws_rds_cluster" "aurora_cluster" { data.aws_security_group.vpn.id, ] + # Autoscaled reader nodes, by default, are not configured with Performance Insights. Until + # recently, the only option for enabling Performance Insights for those nodes would be to enable + # it after they scale-out and reach the "available" state. However, it seems that it is now + # possible to enable both Performance Insights and Enhanced Monitoring at the Cluster level for + # Aurora Clusters, avoiding such a workaround. Unfortunately, the Terraform AWS Provider does not + # properly support enabling both Performance Insights and Enhanced Monitoring at the Cluster level + # as of 01/25, thus necessitating this local-exec provisioner. Fortunately, once enabled, the + # settings for these cannot be changed, so we only need them to be enabled at creation-time. + provisioner "local-exec" { + environment = { + DB_CLUSTER_ID = self.cluster_identifier + KMS_KEY_ID = self.kms_key_id + ENHANCED_MONITORING_INTERVAL = 15 + ENHANCED_MONITORING_IAM_ROLE_ARN = data.aws_iam_role.monitoring.arn + } + command = <<-EOF + aws rds modify-db-cluster --db-cluster-identifier "$DB_CLUSTER_ID" \ + --performance-insights-kms-key-id "$KMS_KEY_ID" \ + --enable-performance-insights \ + --monitoring-interval "$ENHANCED_MONITORING_INTERVAL" \ + --monitoring-role-arn "$ENHANCED_MONITORING_IAM_ROLE_ARN" 1>/dev/null && + echo "Performance Insights and Enhanced Monitoring enabled for $DB_CLUSTER_ID" + EOF + interpreter = ["/bin/bash", "-c"] + } + # Autoscaled reader nodes are not managed by Terraform and Terraform is unable to destroy a # cluster with nodes still within it. To support simply running "terraform destroy" in # environments with autoscaling enabled, a helper script is used that will automatically mark all @@ -135,21 +161,17 @@ resource "aws_db_parameter_group" "aurora_cluster" { } resource "aws_rds_cluster_instance" "writer" { - auto_minor_version_upgrade = true - ca_cert_identifier = "rds-ca-rsa4096-g1" - cluster_identifier = aws_rds_cluster.aurora_cluster.id - copy_tags_to_snapshot = true - db_subnet_group_name = aws_rds_cluster.aurora_cluster.db_subnet_group_name - db_parameter_group_name = aws_rds_cluster.aurora_cluster.db_instance_parameter_group_name - engine = aws_rds_cluster.aurora_cluster.engine - engine_version = aws_rds_cluster.aurora_cluster.engine_version - identifier = "${aws_rds_cluster.aurora_cluster.id}-writer-node" - instance_class = local.rds_instance_class - monitoring_interval = 15 - monitoring_role_arn = data.aws_iam_role.monitoring.arn - performance_insights_enabled = true - performance_insights_kms_key_id = aws_rds_cluster.aurora_cluster.kms_key_id - preferred_maintenance_window = aws_rds_cluster.aurora_cluster.preferred_maintenance_window - publicly_accessible = false - tags = { Layer = "data" } + auto_minor_version_upgrade = true + ca_cert_identifier = "rds-ca-rsa4096-g1" + cluster_identifier = aws_rds_cluster.aurora_cluster.id + copy_tags_to_snapshot = true + db_subnet_group_name = aws_rds_cluster.aurora_cluster.db_subnet_group_name + db_parameter_group_name = aws_rds_cluster.aurora_cluster.db_instance_parameter_group_name + engine = aws_rds_cluster.aurora_cluster.engine + engine_version = aws_rds_cluster.aurora_cluster.engine_version + identifier = "${aws_rds_cluster.aurora_cluster.id}-writer-node" + instance_class = local.rds_instance_class + preferred_maintenance_window = aws_rds_cluster.aurora_cluster.preferred_maintenance_window + publicly_accessible = false + tags = { Layer = "data" } } From 51352edc1f81990ec2dfc5276d12e578a9880706 Mon Sep 17 00:00:00 2001 From: Mitchell Alessio <5306896+malessi@users.noreply.github.com> Date: Tue, 14 Jan 2025 15:37:45 -0500 Subject: [PATCH 03/13] BFD-3823: HAPI FHIR does not properly extract parameters from POST requests with query parameters (#2521) --- .../src/main/java/gov/cms/bfd/server/war/V1Server.java | 2 ++ .../src/main/java/gov/cms/bfd/server/war/V2Server.java | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/V1Server.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/V1Server.java index f4491e253c..b830c5f78f 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/V1Server.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/V1Server.java @@ -45,6 +45,8 @@ public class V1Server extends RestfulServer { public V1Server() { super(FhirContext.forDstu3()); setServerAddressStrategy(ApacheProxyAddressStrategy.forHttp()); + // See comments in V2Server's constructor for rational for setting this flag + setIgnoreServerParsedRequestParameters(false); configureServerInfoMetadata(); } diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/V2Server.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/V2Server.java index a9d5e55582..ce403c2aab 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/V2Server.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/V2Server.java @@ -45,6 +45,16 @@ public class V2Server extends RestfulServer { public V2Server() { super(FhirContext.forR4()); setServerAddressStrategy(ApacheProxyAddressStrategy.forHttp()); + // HAPI FHIR, by default, does not trust the parameters (from both the query string and content + // body, for POSTs) that are automatically extracted by the web framework in the request to be + // properly encoded. Due to this, it attempts to extract parameters on its own, but fails to do + // so in our case due to Jetty already exhausting the input stream of the body. We need to set + // this, so it does not do its own parameter extraction and simply takes the parameter map from + // the Jetty request object. Note that this is NOT respected if any "Content-Encoding" header is + // specified in the request; then it will ONLY extract query string parameters + // See: + // https://hapifhir.io/hapi-fhir/apidocs/hapi-fhir-server/ca/uhn/fhir/rest/server/RestfulServer.html#isIgnoreServerParsedRequestParameters() + setIgnoreServerParsedRequestParameters(false); configureServerInfoMetadata(); } From eb1190eb6ae02f63bb00ed3597cf8ff3164f61c8 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 14 Jan 2025 20:46:43 +0000 Subject: [PATCH 04/13] [maven-release-plugin] prepare release 2.172.0 --- apps/bfd-data-fda/pom.xml | 2 +- apps/bfd-data-npi/pom.xml | 2 +- apps/bfd-db-migrator/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-data/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-library/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-plugin/pom.xml | 2 +- .../bfd-model-dsl-codegen-library/pom.xml | 2 +- .../bfd-model-dsl-codegen-plugin/pom.xml | 4 ++-- apps/bfd-model/bfd-model-dsl-codegen/pom.xml | 2 +- apps/bfd-model/bfd-model-rda/pom.xml | 2 +- apps/bfd-model/bfd-model-rif-samples/pom.xml | 2 +- apps/bfd-model/bfd-model-rif/pom.xml | 2 +- apps/bfd-model/pom.xml | 2 +- apps/bfd-ops/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-app/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml | 2 +- apps/bfd-pipeline/pom.xml | 2 +- apps/bfd-server/bfd-server-docs/pom.xml | 2 +- apps/bfd-server/bfd-server-image/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher-sample/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher/pom.xml | 2 +- apps/bfd-server/bfd-server-shared-utils/pom.xml | 2 +- apps/bfd-server/bfd-server-war/pom.xml | 2 +- apps/bfd-server/pom.xml | 2 +- apps/bfd-shared-test-utils/pom.xml | 2 +- apps/bfd-shared-utils/pom.xml | 2 +- apps/pom.xml | 6 +++--- 32 files changed, 35 insertions(+), 35 deletions(-) diff --git a/apps/bfd-data-fda/pom.xml b/apps/bfd-data-fda/pom.xml index 5c71b3e8b3..a6078cedca 100644 --- a/apps/bfd-data-fda/pom.xml +++ b/apps/bfd-data-fda/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 gov.cms.bfd.data.fda.utility diff --git a/apps/bfd-data-npi/pom.xml b/apps/bfd-data-npi/pom.xml index 47ac7ec096..c6a99c991c 100644 --- a/apps/bfd-data-npi/pom.xml +++ b/apps/bfd-data-npi/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 gov.cms.bfd.data.npi diff --git a/apps/bfd-db-migrator/pom.xml b/apps/bfd-db-migrator/pom.xml index e01d554e0f..9c7561c587 100644 --- a/apps/bfd-db-migrator/pom.xml +++ b/apps/bfd-db-migrator/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-db-migrator diff --git a/apps/bfd-model/bfd-model-codebook-data/pom.xml b/apps/bfd-model/bfd-model-codebook-data/pom.xml index 9ab7020836..fd8a189ee8 100644 --- a/apps/bfd-model/bfd-model-codebook-data/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-data/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-codebook-data diff --git a/apps/bfd-model/bfd-model-codebook-library/pom.xml b/apps/bfd-model/bfd-model-codebook-library/pom.xml index 43c32fd7be..a0d816301e 100644 --- a/apps/bfd-model/bfd-model-codebook-library/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-codebook-library diff --git a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml index c892da9a86..510f3819f3 100644 --- a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-codebook-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml index 67ec42ebb5..1110c594bd 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-dsl-codegen-library diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml index 503e422e68..dee4b48e93 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml @@ -5,11 +5,11 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-dsl-codegen-plugin - 2.172.0-SNAPSHOT + 2.172.0 maven-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml index 4d3e3ee0e0..61a8465360 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-dsl-codegen-parent diff --git a/apps/bfd-model/bfd-model-rda/pom.xml b/apps/bfd-model/bfd-model-rda/pom.xml index d2396c01cd..7980a66eda 100644 --- a/apps/bfd-model/bfd-model-rda/pom.xml +++ b/apps/bfd-model/bfd-model-rda/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-rda diff --git a/apps/bfd-model/bfd-model-rif-samples/pom.xml b/apps/bfd-model/bfd-model-rif-samples/pom.xml index 23649f7766..9b03e6d9c4 100644 --- a/apps/bfd-model/bfd-model-rif-samples/pom.xml +++ b/apps/bfd-model/bfd-model-rif-samples/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-rif-samples diff --git a/apps/bfd-model/bfd-model-rif/pom.xml b/apps/bfd-model/bfd-model-rif/pom.xml index b2e5cbb97b..15d17f0311 100644 --- a/apps/bfd-model/bfd-model-rif/pom.xml +++ b/apps/bfd-model/bfd-model-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-rif diff --git a/apps/bfd-model/pom.xml b/apps/bfd-model/pom.xml index b27f83cda5..d6c3eaeb76 100644 --- a/apps/bfd-model/pom.xml +++ b/apps/bfd-model/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-model-parent diff --git a/apps/bfd-ops/pom.xml b/apps/bfd-ops/pom.xml index fd3cda42ff..ad45f3b81d 100644 --- a/apps/bfd-ops/pom.xml +++ b/apps/bfd-ops/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-ops diff --git a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml index 03a69260c6..889a78d561 100644 --- a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-pipeline-app diff --git a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml index 01206e23f7..06effabf60 100644 --- a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-pipeline-ccw-rif diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml index c79d4f44e8..097d5586c3 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-pipeline-rda-bridge diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml index a6c495efa5..d6fbbf3c87 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-pipeline-rda-grpc-apps diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml index 6211589335..116b29cccd 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-pipeline-rda-grpc diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml index a94d2f5be5..cadee01a67 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-pipeline-shared-test-utils diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml index 7285bf032f..acea4de658 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-pipeline-shared-utils diff --git a/apps/bfd-pipeline/pom.xml b/apps/bfd-pipeline/pom.xml index 36008bdb42..d71ac10204 100644 --- a/apps/bfd-pipeline/pom.xml +++ b/apps/bfd-pipeline/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-pipeline-parent diff --git a/apps/bfd-server/bfd-server-docs/pom.xml b/apps/bfd-server/bfd-server-docs/pom.xml index 84c798e319..ec605cf523 100644 --- a/apps/bfd-server/bfd-server-docs/pom.xml +++ b/apps/bfd-server/bfd-server-docs/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-server-docs diff --git a/apps/bfd-server/bfd-server-image/pom.xml b/apps/bfd-server/bfd-server-image/pom.xml index 7115d9a2d8..dd8a72665c 100644 --- a/apps/bfd-server/bfd-server-image/pom.xml +++ b/apps/bfd-server/bfd-server-image/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-server-image diff --git a/apps/bfd-server/bfd-server-launcher-sample/pom.xml b/apps/bfd-server/bfd-server-launcher-sample/pom.xml index 156b18f650..11f69550f8 100644 --- a/apps/bfd-server/bfd-server-launcher-sample/pom.xml +++ b/apps/bfd-server/bfd-server-launcher-sample/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-server-launcher-sample diff --git a/apps/bfd-server/bfd-server-launcher/pom.xml b/apps/bfd-server/bfd-server-launcher/pom.xml index cd1b181d6c..c85567b31c 100644 --- a/apps/bfd-server/bfd-server-launcher/pom.xml +++ b/apps/bfd-server/bfd-server-launcher/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-server-launcher diff --git a/apps/bfd-server/bfd-server-shared-utils/pom.xml b/apps/bfd-server/bfd-server-shared-utils/pom.xml index baac13c65a..13fd507e17 100644 --- a/apps/bfd-server/bfd-server-shared-utils/pom.xml +++ b/apps/bfd-server/bfd-server-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-server-shared-utils diff --git a/apps/bfd-server/bfd-server-war/pom.xml b/apps/bfd-server/bfd-server-war/pom.xml index e3dd8e3ef9..172ae526ce 100644 --- a/apps/bfd-server/bfd-server-war/pom.xml +++ b/apps/bfd-server/bfd-server-war/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-server-war diff --git a/apps/bfd-server/pom.xml b/apps/bfd-server/pom.xml index 4b48f0f0d4..02a3401893 100644 --- a/apps/bfd-server/pom.xml +++ b/apps/bfd-server/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-server-parent diff --git a/apps/bfd-shared-test-utils/pom.xml b/apps/bfd-shared-test-utils/pom.xml index 5329175a7b..b5292dcc5f 100644 --- a/apps/bfd-shared-test-utils/pom.xml +++ b/apps/bfd-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-shared-test-utils diff --git a/apps/bfd-shared-utils/pom.xml b/apps/bfd-shared-utils/pom.xml index e5d2d3f66f..3fe5087302 100644 --- a/apps/bfd-shared-utils/pom.xml +++ b/apps/bfd-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 bfd-shared-utils diff --git a/apps/pom.xml b/apps/pom.xml index e237cec06f..ab41233569 100644 --- a/apps/pom.xml +++ b/apps/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.172.0-SNAPSHOT + 2.172.0 pom bfd-parent @@ -40,7 +40,7 @@ scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git https://github.com/CMSgov/beneficiary-fhir-data - HEAD + 2.172.0 @@ -65,7 +65,7 @@ 21 - 2025-01-13T16:19:17Z + 2025-01-14T20:39:12Z true jacoco From 57bdb0655a31ebf1aaddcc77052ae1de7cc1d8ec Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 14 Jan 2025 20:47:15 +0000 Subject: [PATCH 05/13] [maven-release-plugin] prepare for next development iteration --- apps/bfd-data-fda/pom.xml | 2 +- apps/bfd-data-npi/pom.xml | 2 +- apps/bfd-db-migrator/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-data/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-library/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-plugin/pom.xml | 2 +- .../bfd-model-dsl-codegen-library/pom.xml | 2 +- .../bfd-model-dsl-codegen-plugin/pom.xml | 4 ++-- apps/bfd-model/bfd-model-dsl-codegen/pom.xml | 2 +- apps/bfd-model/bfd-model-rda/pom.xml | 2 +- apps/bfd-model/bfd-model-rif-samples/pom.xml | 2 +- apps/bfd-model/bfd-model-rif/pom.xml | 2 +- apps/bfd-model/pom.xml | 2 +- apps/bfd-ops/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-app/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml | 2 +- apps/bfd-pipeline/pom.xml | 2 +- apps/bfd-server/bfd-server-docs/pom.xml | 2 +- apps/bfd-server/bfd-server-image/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher-sample/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher/pom.xml | 2 +- apps/bfd-server/bfd-server-shared-utils/pom.xml | 2 +- apps/bfd-server/bfd-server-war/pom.xml | 2 +- apps/bfd-server/pom.xml | 2 +- apps/bfd-shared-test-utils/pom.xml | 2 +- apps/bfd-shared-utils/pom.xml | 2 +- apps/pom.xml | 6 +++--- 32 files changed, 35 insertions(+), 35 deletions(-) diff --git a/apps/bfd-data-fda/pom.xml b/apps/bfd-data-fda/pom.xml index a6078cedca..958d88a7ac 100644 --- a/apps/bfd-data-fda/pom.xml +++ b/apps/bfd-data-fda/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT gov.cms.bfd.data.fda.utility diff --git a/apps/bfd-data-npi/pom.xml b/apps/bfd-data-npi/pom.xml index c6a99c991c..4297892d27 100644 --- a/apps/bfd-data-npi/pom.xml +++ b/apps/bfd-data-npi/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT gov.cms.bfd.data.npi diff --git a/apps/bfd-db-migrator/pom.xml b/apps/bfd-db-migrator/pom.xml index 9c7561c587..a55d85626e 100644 --- a/apps/bfd-db-migrator/pom.xml +++ b/apps/bfd-db-migrator/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-db-migrator diff --git a/apps/bfd-model/bfd-model-codebook-data/pom.xml b/apps/bfd-model/bfd-model-codebook-data/pom.xml index fd8a189ee8..a8ea4bc14d 100644 --- a/apps/bfd-model/bfd-model-codebook-data/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-data/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-codebook-data diff --git a/apps/bfd-model/bfd-model-codebook-library/pom.xml b/apps/bfd-model/bfd-model-codebook-library/pom.xml index a0d816301e..9c96f5819e 100644 --- a/apps/bfd-model/bfd-model-codebook-library/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-codebook-library diff --git a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml index 510f3819f3..b3c95a01d0 100644 --- a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-codebook-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml index 1110c594bd..c3ebcdcfcd 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-dsl-codegen-library diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml index dee4b48e93..1d7ebf27c1 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml @@ -5,11 +5,11 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-dsl-codegen-plugin - 2.172.0 + 2.173.0-SNAPSHOT maven-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml index 61a8465360..df5ec849ed 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-dsl-codegen-parent diff --git a/apps/bfd-model/bfd-model-rda/pom.xml b/apps/bfd-model/bfd-model-rda/pom.xml index 7980a66eda..2953e5d960 100644 --- a/apps/bfd-model/bfd-model-rda/pom.xml +++ b/apps/bfd-model/bfd-model-rda/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-rda diff --git a/apps/bfd-model/bfd-model-rif-samples/pom.xml b/apps/bfd-model/bfd-model-rif-samples/pom.xml index 9b03e6d9c4..7d4ff249a3 100644 --- a/apps/bfd-model/bfd-model-rif-samples/pom.xml +++ b/apps/bfd-model/bfd-model-rif-samples/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-rif-samples diff --git a/apps/bfd-model/bfd-model-rif/pom.xml b/apps/bfd-model/bfd-model-rif/pom.xml index 15d17f0311..f7d8fda977 100644 --- a/apps/bfd-model/bfd-model-rif/pom.xml +++ b/apps/bfd-model/bfd-model-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-rif diff --git a/apps/bfd-model/pom.xml b/apps/bfd-model/pom.xml index d6c3eaeb76..94c5b5c664 100644 --- a/apps/bfd-model/pom.xml +++ b/apps/bfd-model/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-model-parent diff --git a/apps/bfd-ops/pom.xml b/apps/bfd-ops/pom.xml index ad45f3b81d..8929d4ef71 100644 --- a/apps/bfd-ops/pom.xml +++ b/apps/bfd-ops/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-ops diff --git a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml index 889a78d561..a16d95183b 100644 --- a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-pipeline-app diff --git a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml index 06effabf60..dacee7bd1a 100644 --- a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-pipeline-ccw-rif diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml index 097d5586c3..3f5cde5055 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-pipeline-rda-bridge diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml index d6fbbf3c87..b65c38ef0a 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-pipeline-rda-grpc-apps diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml index 116b29cccd..a3dfd5991c 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-pipeline-rda-grpc diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml index cadee01a67..1868d56ae3 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-pipeline-shared-test-utils diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml index acea4de658..5e71b5b318 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-pipeline-shared-utils diff --git a/apps/bfd-pipeline/pom.xml b/apps/bfd-pipeline/pom.xml index d71ac10204..86e602f961 100644 --- a/apps/bfd-pipeline/pom.xml +++ b/apps/bfd-pipeline/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-pipeline-parent diff --git a/apps/bfd-server/bfd-server-docs/pom.xml b/apps/bfd-server/bfd-server-docs/pom.xml index ec605cf523..2f86f8848d 100644 --- a/apps/bfd-server/bfd-server-docs/pom.xml +++ b/apps/bfd-server/bfd-server-docs/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-server-docs diff --git a/apps/bfd-server/bfd-server-image/pom.xml b/apps/bfd-server/bfd-server-image/pom.xml index dd8a72665c..c50f36da85 100644 --- a/apps/bfd-server/bfd-server-image/pom.xml +++ b/apps/bfd-server/bfd-server-image/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-server-image diff --git a/apps/bfd-server/bfd-server-launcher-sample/pom.xml b/apps/bfd-server/bfd-server-launcher-sample/pom.xml index 11f69550f8..bda384219e 100644 --- a/apps/bfd-server/bfd-server-launcher-sample/pom.xml +++ b/apps/bfd-server/bfd-server-launcher-sample/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-server-launcher-sample diff --git a/apps/bfd-server/bfd-server-launcher/pom.xml b/apps/bfd-server/bfd-server-launcher/pom.xml index c85567b31c..a8af6cea60 100644 --- a/apps/bfd-server/bfd-server-launcher/pom.xml +++ b/apps/bfd-server/bfd-server-launcher/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-server-launcher diff --git a/apps/bfd-server/bfd-server-shared-utils/pom.xml b/apps/bfd-server/bfd-server-shared-utils/pom.xml index 13fd507e17..6650a5f3b0 100644 --- a/apps/bfd-server/bfd-server-shared-utils/pom.xml +++ b/apps/bfd-server/bfd-server-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-server-shared-utils diff --git a/apps/bfd-server/bfd-server-war/pom.xml b/apps/bfd-server/bfd-server-war/pom.xml index 172ae526ce..d1fa16a7e6 100644 --- a/apps/bfd-server/bfd-server-war/pom.xml +++ b/apps/bfd-server/bfd-server-war/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-server-war diff --git a/apps/bfd-server/pom.xml b/apps/bfd-server/pom.xml index 02a3401893..5468f4abed 100644 --- a/apps/bfd-server/pom.xml +++ b/apps/bfd-server/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-server-parent diff --git a/apps/bfd-shared-test-utils/pom.xml b/apps/bfd-shared-test-utils/pom.xml index b5292dcc5f..3c4c37e076 100644 --- a/apps/bfd-shared-test-utils/pom.xml +++ b/apps/bfd-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-shared-test-utils diff --git a/apps/bfd-shared-utils/pom.xml b/apps/bfd-shared-utils/pom.xml index 3fe5087302..b0a9184f09 100644 --- a/apps/bfd-shared-utils/pom.xml +++ b/apps/bfd-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT bfd-shared-utils diff --git a/apps/pom.xml b/apps/pom.xml index ab41233569..5799178fd5 100644 --- a/apps/pom.xml +++ b/apps/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.172.0 + 2.173.0-SNAPSHOT pom bfd-parent @@ -40,7 +40,7 @@ scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git https://github.com/CMSgov/beneficiary-fhir-data - 2.172.0 + HEAD @@ -65,7 +65,7 @@ 21 - 2025-01-14T20:39:12Z + 2025-01-14T20:47:15Z true jacoco From 938d25e3847a1a74cab9a006c36c36b2931faf97 Mon Sep 17 00:00:00 2001 From: Mitchell Alessio <5306896+malessi@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:28:43 -0500 Subject: [PATCH 06/13] BFD-3819: GitHub Actions IAM Role lacks permissions to manage IAM policies and KMS key policies (#2522) --- ops/terraform/env/mgmt/github-actions-iam.tf | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ops/terraform/env/mgmt/github-actions-iam.tf b/ops/terraform/env/mgmt/github-actions-iam.tf index a2faab859f..02aa145ebb 100644 --- a/ops/terraform/env/mgmt/github-actions-iam.tf +++ b/ops/terraform/env/mgmt/github-actions-iam.tf @@ -403,6 +403,14 @@ resource "aws_iam_policy" "github_actions_ci_ops" { ] Resource = "*" }, + { + Sid = "AllowPolicyManagementOfAllKeys" + Effect = "Allow" + Action = [ + "kms:PutKeyPolicy", + ] + Resource = "*" + }, { Sid = "AllowSNS" Effect = "Allow" @@ -427,7 +435,8 @@ resource "aws_iam_policy" "github_actions_ci_ops" { Action = [ "iam:Get*", "iam:List*", - "iam:DeletePolicyVersion" + "iam:DeletePolicyVersion", + "iam:CreatePolicyVersion" ] Resource = "*" }, From 3a818afa10ce1cc8d99c6293c3d768f571f3a1db Mon Sep 17 00:00:00 2001 From: Mitchell Alessio <5306896+malessi@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:31:47 -0500 Subject: [PATCH 07/13] BFD-3825: Terraform for RDS Writer Instances must have RDS Observability configuration settings matching Cluster (#2523) --- .../services/common/aurora-cluster.tf | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/ops/terraform/services/common/aurora-cluster.tf b/ops/terraform/services/common/aurora-cluster.tf index 1e4f29c03b..5dcf921d9f 100644 --- a/ops/terraform/services/common/aurora-cluster.tf +++ b/ops/terraform/services/common/aurora-cluster.tf @@ -161,17 +161,21 @@ resource "aws_db_parameter_group" "aurora_cluster" { } resource "aws_rds_cluster_instance" "writer" { - auto_minor_version_upgrade = true - ca_cert_identifier = "rds-ca-rsa4096-g1" - cluster_identifier = aws_rds_cluster.aurora_cluster.id - copy_tags_to_snapshot = true - db_subnet_group_name = aws_rds_cluster.aurora_cluster.db_subnet_group_name - db_parameter_group_name = aws_rds_cluster.aurora_cluster.db_instance_parameter_group_name - engine = aws_rds_cluster.aurora_cluster.engine - engine_version = aws_rds_cluster.aurora_cluster.engine_version - identifier = "${aws_rds_cluster.aurora_cluster.id}-writer-node" - instance_class = local.rds_instance_class - preferred_maintenance_window = aws_rds_cluster.aurora_cluster.preferred_maintenance_window - publicly_accessible = false - tags = { Layer = "data" } + auto_minor_version_upgrade = true + ca_cert_identifier = "rds-ca-rsa4096-g1" + cluster_identifier = aws_rds_cluster.aurora_cluster.id + copy_tags_to_snapshot = true + db_subnet_group_name = aws_rds_cluster.aurora_cluster.db_subnet_group_name + db_parameter_group_name = aws_rds_cluster.aurora_cluster.db_instance_parameter_group_name + engine = aws_rds_cluster.aurora_cluster.engine + engine_version = aws_rds_cluster.aurora_cluster.engine_version + identifier = "${aws_rds_cluster.aurora_cluster.id}-writer-node" + instance_class = local.rds_instance_class + monitoring_interval = 15 + monitoring_role_arn = data.aws_iam_role.monitoring.arn + performance_insights_enabled = true + performance_insights_kms_key_id = aws_rds_cluster.aurora_cluster.kms_key_id + preferred_maintenance_window = aws_rds_cluster.aurora_cluster.preferred_maintenance_window + publicly_accessible = false + tags = { Layer = "data" } } From ab27f4c8b72eea51b32b98ec44080b10c8a41b32 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 14 Jan 2025 21:41:54 +0000 Subject: [PATCH 08/13] [maven-release-plugin] prepare release 2.173.0 --- apps/bfd-data-fda/pom.xml | 2 +- apps/bfd-data-npi/pom.xml | 2 +- apps/bfd-db-migrator/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-data/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-library/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-plugin/pom.xml | 2 +- .../bfd-model-dsl-codegen-library/pom.xml | 2 +- .../bfd-model-dsl-codegen-plugin/pom.xml | 4 ++-- apps/bfd-model/bfd-model-dsl-codegen/pom.xml | 2 +- apps/bfd-model/bfd-model-rda/pom.xml | 2 +- apps/bfd-model/bfd-model-rif-samples/pom.xml | 2 +- apps/bfd-model/bfd-model-rif/pom.xml | 2 +- apps/bfd-model/pom.xml | 2 +- apps/bfd-ops/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-app/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml | 2 +- apps/bfd-pipeline/pom.xml | 2 +- apps/bfd-server/bfd-server-docs/pom.xml | 2 +- apps/bfd-server/bfd-server-image/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher-sample/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher/pom.xml | 2 +- apps/bfd-server/bfd-server-shared-utils/pom.xml | 2 +- apps/bfd-server/bfd-server-war/pom.xml | 2 +- apps/bfd-server/pom.xml | 2 +- apps/bfd-shared-test-utils/pom.xml | 2 +- apps/bfd-shared-utils/pom.xml | 2 +- apps/pom.xml | 6 +++--- 32 files changed, 35 insertions(+), 35 deletions(-) diff --git a/apps/bfd-data-fda/pom.xml b/apps/bfd-data-fda/pom.xml index 958d88a7ac..73039fc288 100644 --- a/apps/bfd-data-fda/pom.xml +++ b/apps/bfd-data-fda/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 gov.cms.bfd.data.fda.utility diff --git a/apps/bfd-data-npi/pom.xml b/apps/bfd-data-npi/pom.xml index 4297892d27..87f4f6adae 100644 --- a/apps/bfd-data-npi/pom.xml +++ b/apps/bfd-data-npi/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 gov.cms.bfd.data.npi diff --git a/apps/bfd-db-migrator/pom.xml b/apps/bfd-db-migrator/pom.xml index a55d85626e..9b086f20ac 100644 --- a/apps/bfd-db-migrator/pom.xml +++ b/apps/bfd-db-migrator/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-db-migrator diff --git a/apps/bfd-model/bfd-model-codebook-data/pom.xml b/apps/bfd-model/bfd-model-codebook-data/pom.xml index a8ea4bc14d..94eb428498 100644 --- a/apps/bfd-model/bfd-model-codebook-data/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-data/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-codebook-data diff --git a/apps/bfd-model/bfd-model-codebook-library/pom.xml b/apps/bfd-model/bfd-model-codebook-library/pom.xml index 9c96f5819e..eecdfbcbdf 100644 --- a/apps/bfd-model/bfd-model-codebook-library/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-codebook-library diff --git a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml index b3c95a01d0..2ad89a4aff 100644 --- a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-codebook-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml index c3ebcdcfcd..dfdc543724 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-dsl-codegen-library diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml index 1d7ebf27c1..f2b884d203 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml @@ -5,11 +5,11 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-dsl-codegen-plugin - 2.173.0-SNAPSHOT + 2.173.0 maven-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml index df5ec849ed..a28c4f1e90 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-dsl-codegen-parent diff --git a/apps/bfd-model/bfd-model-rda/pom.xml b/apps/bfd-model/bfd-model-rda/pom.xml index 2953e5d960..823bdfb2b4 100644 --- a/apps/bfd-model/bfd-model-rda/pom.xml +++ b/apps/bfd-model/bfd-model-rda/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-rda diff --git a/apps/bfd-model/bfd-model-rif-samples/pom.xml b/apps/bfd-model/bfd-model-rif-samples/pom.xml index 7d4ff249a3..c0ee338954 100644 --- a/apps/bfd-model/bfd-model-rif-samples/pom.xml +++ b/apps/bfd-model/bfd-model-rif-samples/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-rif-samples diff --git a/apps/bfd-model/bfd-model-rif/pom.xml b/apps/bfd-model/bfd-model-rif/pom.xml index f7d8fda977..a4dc225316 100644 --- a/apps/bfd-model/bfd-model-rif/pom.xml +++ b/apps/bfd-model/bfd-model-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-rif diff --git a/apps/bfd-model/pom.xml b/apps/bfd-model/pom.xml index 94c5b5c664..c18a5f79b8 100644 --- a/apps/bfd-model/pom.xml +++ b/apps/bfd-model/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-model-parent diff --git a/apps/bfd-ops/pom.xml b/apps/bfd-ops/pom.xml index 8929d4ef71..e607033f42 100644 --- a/apps/bfd-ops/pom.xml +++ b/apps/bfd-ops/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-ops diff --git a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml index a16d95183b..80c216ce5a 100644 --- a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-pipeline-app diff --git a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml index dacee7bd1a..d9b3f04185 100644 --- a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-pipeline-ccw-rif diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml index 3f5cde5055..b475573b68 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-pipeline-rda-bridge diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml index b65c38ef0a..2f9c69524d 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-pipeline-rda-grpc-apps diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml index a3dfd5991c..a48cbb5be1 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-pipeline-rda-grpc diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml index 1868d56ae3..c07210e005 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-pipeline-shared-test-utils diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml index 5e71b5b318..1fa10a3f40 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-pipeline-shared-utils diff --git a/apps/bfd-pipeline/pom.xml b/apps/bfd-pipeline/pom.xml index 86e602f961..9e9a1ba2f0 100644 --- a/apps/bfd-pipeline/pom.xml +++ b/apps/bfd-pipeline/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-pipeline-parent diff --git a/apps/bfd-server/bfd-server-docs/pom.xml b/apps/bfd-server/bfd-server-docs/pom.xml index 2f86f8848d..f5308b36d3 100644 --- a/apps/bfd-server/bfd-server-docs/pom.xml +++ b/apps/bfd-server/bfd-server-docs/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-server-docs diff --git a/apps/bfd-server/bfd-server-image/pom.xml b/apps/bfd-server/bfd-server-image/pom.xml index c50f36da85..20bbaa9794 100644 --- a/apps/bfd-server/bfd-server-image/pom.xml +++ b/apps/bfd-server/bfd-server-image/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-server-image diff --git a/apps/bfd-server/bfd-server-launcher-sample/pom.xml b/apps/bfd-server/bfd-server-launcher-sample/pom.xml index bda384219e..e24eea8f74 100644 --- a/apps/bfd-server/bfd-server-launcher-sample/pom.xml +++ b/apps/bfd-server/bfd-server-launcher-sample/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-server-launcher-sample diff --git a/apps/bfd-server/bfd-server-launcher/pom.xml b/apps/bfd-server/bfd-server-launcher/pom.xml index a8af6cea60..c389ad4d32 100644 --- a/apps/bfd-server/bfd-server-launcher/pom.xml +++ b/apps/bfd-server/bfd-server-launcher/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-server-launcher diff --git a/apps/bfd-server/bfd-server-shared-utils/pom.xml b/apps/bfd-server/bfd-server-shared-utils/pom.xml index 6650a5f3b0..de247a7261 100644 --- a/apps/bfd-server/bfd-server-shared-utils/pom.xml +++ b/apps/bfd-server/bfd-server-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-server-shared-utils diff --git a/apps/bfd-server/bfd-server-war/pom.xml b/apps/bfd-server/bfd-server-war/pom.xml index d1fa16a7e6..a0ca78639f 100644 --- a/apps/bfd-server/bfd-server-war/pom.xml +++ b/apps/bfd-server/bfd-server-war/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-server-war diff --git a/apps/bfd-server/pom.xml b/apps/bfd-server/pom.xml index 5468f4abed..4ed40ba0a6 100644 --- a/apps/bfd-server/pom.xml +++ b/apps/bfd-server/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-server-parent diff --git a/apps/bfd-shared-test-utils/pom.xml b/apps/bfd-shared-test-utils/pom.xml index 3c4c37e076..23321ce864 100644 --- a/apps/bfd-shared-test-utils/pom.xml +++ b/apps/bfd-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-shared-test-utils diff --git a/apps/bfd-shared-utils/pom.xml b/apps/bfd-shared-utils/pom.xml index b0a9184f09..f8171ffecf 100644 --- a/apps/bfd-shared-utils/pom.xml +++ b/apps/bfd-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 bfd-shared-utils diff --git a/apps/pom.xml b/apps/pom.xml index 5799178fd5..a83a3b4ec0 100644 --- a/apps/pom.xml +++ b/apps/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.173.0-SNAPSHOT + 2.173.0 pom bfd-parent @@ -40,7 +40,7 @@ scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git https://github.com/CMSgov/beneficiary-fhir-data - HEAD + 2.173.0 @@ -65,7 +65,7 @@ 21 - 2025-01-14T20:47:15Z + 2025-01-14T21:34:35Z true jacoco From 394dc9d672ba87db24902b3ab857ddf8cd7fc0f5 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 14 Jan 2025 21:42:28 +0000 Subject: [PATCH 09/13] [maven-release-plugin] prepare for next development iteration --- apps/bfd-data-fda/pom.xml | 2 +- apps/bfd-data-npi/pom.xml | 2 +- apps/bfd-db-migrator/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-data/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-library/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-plugin/pom.xml | 2 +- .../bfd-model-dsl-codegen-library/pom.xml | 2 +- .../bfd-model-dsl-codegen-plugin/pom.xml | 4 ++-- apps/bfd-model/bfd-model-dsl-codegen/pom.xml | 2 +- apps/bfd-model/bfd-model-rda/pom.xml | 2 +- apps/bfd-model/bfd-model-rif-samples/pom.xml | 2 +- apps/bfd-model/bfd-model-rif/pom.xml | 2 +- apps/bfd-model/pom.xml | 2 +- apps/bfd-ops/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-app/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml | 2 +- apps/bfd-pipeline/pom.xml | 2 +- apps/bfd-server/bfd-server-docs/pom.xml | 2 +- apps/bfd-server/bfd-server-image/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher-sample/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher/pom.xml | 2 +- apps/bfd-server/bfd-server-shared-utils/pom.xml | 2 +- apps/bfd-server/bfd-server-war/pom.xml | 2 +- apps/bfd-server/pom.xml | 2 +- apps/bfd-shared-test-utils/pom.xml | 2 +- apps/bfd-shared-utils/pom.xml | 2 +- apps/pom.xml | 6 +++--- 32 files changed, 35 insertions(+), 35 deletions(-) diff --git a/apps/bfd-data-fda/pom.xml b/apps/bfd-data-fda/pom.xml index 73039fc288..a7d4f73526 100644 --- a/apps/bfd-data-fda/pom.xml +++ b/apps/bfd-data-fda/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT gov.cms.bfd.data.fda.utility diff --git a/apps/bfd-data-npi/pom.xml b/apps/bfd-data-npi/pom.xml index 87f4f6adae..1c3d699fa0 100644 --- a/apps/bfd-data-npi/pom.xml +++ b/apps/bfd-data-npi/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT gov.cms.bfd.data.npi diff --git a/apps/bfd-db-migrator/pom.xml b/apps/bfd-db-migrator/pom.xml index 9b086f20ac..d21bfdb75f 100644 --- a/apps/bfd-db-migrator/pom.xml +++ b/apps/bfd-db-migrator/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-db-migrator diff --git a/apps/bfd-model/bfd-model-codebook-data/pom.xml b/apps/bfd-model/bfd-model-codebook-data/pom.xml index 94eb428498..277b9438b8 100644 --- a/apps/bfd-model/bfd-model-codebook-data/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-data/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-codebook-data diff --git a/apps/bfd-model/bfd-model-codebook-library/pom.xml b/apps/bfd-model/bfd-model-codebook-library/pom.xml index eecdfbcbdf..f5227c8f2c 100644 --- a/apps/bfd-model/bfd-model-codebook-library/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-codebook-library diff --git a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml index 2ad89a4aff..3421022d5d 100644 --- a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-codebook-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml index dfdc543724..10dda61154 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-dsl-codegen-library diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml index f2b884d203..ae15975e60 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml @@ -5,11 +5,11 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-dsl-codegen-plugin - 2.173.0 + 2.174.0-SNAPSHOT maven-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml index a28c4f1e90..704ff03b7b 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-dsl-codegen-parent diff --git a/apps/bfd-model/bfd-model-rda/pom.xml b/apps/bfd-model/bfd-model-rda/pom.xml index 823bdfb2b4..5dcc8b3d86 100644 --- a/apps/bfd-model/bfd-model-rda/pom.xml +++ b/apps/bfd-model/bfd-model-rda/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-rda diff --git a/apps/bfd-model/bfd-model-rif-samples/pom.xml b/apps/bfd-model/bfd-model-rif-samples/pom.xml index c0ee338954..f2eb600875 100644 --- a/apps/bfd-model/bfd-model-rif-samples/pom.xml +++ b/apps/bfd-model/bfd-model-rif-samples/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-rif-samples diff --git a/apps/bfd-model/bfd-model-rif/pom.xml b/apps/bfd-model/bfd-model-rif/pom.xml index a4dc225316..f69d76fc13 100644 --- a/apps/bfd-model/bfd-model-rif/pom.xml +++ b/apps/bfd-model/bfd-model-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-rif diff --git a/apps/bfd-model/pom.xml b/apps/bfd-model/pom.xml index c18a5f79b8..5fe4a09df1 100644 --- a/apps/bfd-model/pom.xml +++ b/apps/bfd-model/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-model-parent diff --git a/apps/bfd-ops/pom.xml b/apps/bfd-ops/pom.xml index e607033f42..1fe5bfe694 100644 --- a/apps/bfd-ops/pom.xml +++ b/apps/bfd-ops/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-ops diff --git a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml index 80c216ce5a..7b6f500c08 100644 --- a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-pipeline-app diff --git a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml index d9b3f04185..5a4c80c0f6 100644 --- a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-pipeline-ccw-rif diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml index b475573b68..9463576e6e 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-pipeline-rda-bridge diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml index 2f9c69524d..2c3e19d513 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-pipeline-rda-grpc-apps diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml index a48cbb5be1..825f615471 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-pipeline-rda-grpc diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml index c07210e005..08a9200ed7 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-pipeline-shared-test-utils diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml index 1fa10a3f40..70d0db76b1 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-pipeline-shared-utils diff --git a/apps/bfd-pipeline/pom.xml b/apps/bfd-pipeline/pom.xml index 9e9a1ba2f0..4f7f51d294 100644 --- a/apps/bfd-pipeline/pom.xml +++ b/apps/bfd-pipeline/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-pipeline-parent diff --git a/apps/bfd-server/bfd-server-docs/pom.xml b/apps/bfd-server/bfd-server-docs/pom.xml index f5308b36d3..91617f5602 100644 --- a/apps/bfd-server/bfd-server-docs/pom.xml +++ b/apps/bfd-server/bfd-server-docs/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-server-docs diff --git a/apps/bfd-server/bfd-server-image/pom.xml b/apps/bfd-server/bfd-server-image/pom.xml index 20bbaa9794..99ee67868b 100644 --- a/apps/bfd-server/bfd-server-image/pom.xml +++ b/apps/bfd-server/bfd-server-image/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-server-image diff --git a/apps/bfd-server/bfd-server-launcher-sample/pom.xml b/apps/bfd-server/bfd-server-launcher-sample/pom.xml index e24eea8f74..ebb2f5866e 100644 --- a/apps/bfd-server/bfd-server-launcher-sample/pom.xml +++ b/apps/bfd-server/bfd-server-launcher-sample/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-server-launcher-sample diff --git a/apps/bfd-server/bfd-server-launcher/pom.xml b/apps/bfd-server/bfd-server-launcher/pom.xml index c389ad4d32..64a2f7d79e 100644 --- a/apps/bfd-server/bfd-server-launcher/pom.xml +++ b/apps/bfd-server/bfd-server-launcher/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-server-launcher diff --git a/apps/bfd-server/bfd-server-shared-utils/pom.xml b/apps/bfd-server/bfd-server-shared-utils/pom.xml index de247a7261..7f39e624b5 100644 --- a/apps/bfd-server/bfd-server-shared-utils/pom.xml +++ b/apps/bfd-server/bfd-server-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-server-shared-utils diff --git a/apps/bfd-server/bfd-server-war/pom.xml b/apps/bfd-server/bfd-server-war/pom.xml index a0ca78639f..d91294b246 100644 --- a/apps/bfd-server/bfd-server-war/pom.xml +++ b/apps/bfd-server/bfd-server-war/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-server-war diff --git a/apps/bfd-server/pom.xml b/apps/bfd-server/pom.xml index 4ed40ba0a6..9167a10578 100644 --- a/apps/bfd-server/pom.xml +++ b/apps/bfd-server/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-server-parent diff --git a/apps/bfd-shared-test-utils/pom.xml b/apps/bfd-shared-test-utils/pom.xml index 23321ce864..93c4effa04 100644 --- a/apps/bfd-shared-test-utils/pom.xml +++ b/apps/bfd-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-shared-test-utils diff --git a/apps/bfd-shared-utils/pom.xml b/apps/bfd-shared-utils/pom.xml index f8171ffecf..9a29351246 100644 --- a/apps/bfd-shared-utils/pom.xml +++ b/apps/bfd-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT bfd-shared-utils diff --git a/apps/pom.xml b/apps/pom.xml index a83a3b4ec0..0c399f9c0b 100644 --- a/apps/pom.xml +++ b/apps/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.173.0 + 2.174.0-SNAPSHOT pom bfd-parent @@ -40,7 +40,7 @@ scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git https://github.com/CMSgov/beneficiary-fhir-data - 2.173.0 + HEAD @@ -65,7 +65,7 @@ 21 - 2025-01-14T21:34:35Z + 2025-01-14T21:42:28Z true jacoco From 6b5b12c331f204522f67c58dbf316140b0652160 Mon Sep 17 00:00:00 2001 From: aschey-forpeople <162160982+aschey-forpeople@users.noreply.github.com> Date: Tue, 14 Jan 2025 14:10:24 -0800 Subject: [PATCH 10/13] BFD-3585: RFC for beneficiary merging (#2413) Co-authored-by: Don DeVun <160619336+dondevun@users.noreply.github.com> Co-authored-by: Mitchell Alessio <5306896+malessi@users.noreply.github.com> --- docs/rfcs/0022-beneficiary-merging.md | 801 ++++++++++++++++++++++++++ 1 file changed, 801 insertions(+) create mode 100644 docs/rfcs/0022-beneficiary-merging.md diff --git a/docs/rfcs/0022-beneficiary-merging.md b/docs/rfcs/0022-beneficiary-merging.md new file mode 100644 index 0000000000..47011584a8 --- /dev/null +++ b/docs/rfcs/0022-beneficiary-merging.md @@ -0,0 +1,801 @@ +# RFC Proposal + +* RFC Proposal ID: `0022-beneficiary-merging` +* Start Date: 2024-08-20 +* RFC PR: [beneficiary-fhir-data/rfcs#0022](https://github.com/CMSgov/beneficiary-fhir-data/pull/2413) +* JIRA Ticket(s): + * [BFD-3585](https://jira.cms.gov/browse/BFD-3585) + +In a small number of cases, a given individual may be linked to multiple beneficiary records. +CCW and its upstream systems will attempt to track any changes to a beneficiary's personal information and link it to a single +beneficiary record, but limitations of these systems occasionally cause the information to be applied to multiple records. + +When this happens, we receive a cross-reference ID (`xref_id`) which will indicate there are multiple beneficiary records that refer to the same person. +Additionally, we receive another field called the cross-reference switch (`xref_sw`) which will tell us which beneficiary +record is the most current. +The value of `xref_sw` can be either `Y` (yes) or `N` (no), with a value of `Y` indicating that this beneficiary has been merged into another and a value of `N` indicating that this is the most current record. + +Additionally, there may be situations where a cross-reference relationship is created in error. +When this occurs, there will be a 'kill credit' code set to `1` indicating that the cross-reference relationship is invalid and should be ignored. +When the relationship _is_ valid, the code will either be `null` or `2`. + +If these cross-referenced records had no claims attached, we could simply ignore them, but unfortunately that is not the case for a sizable portion of them. + +This is a fairly rare scenario, with ~400,000 out of the ~65,000,000 beneficiaries having a cross-reference ID (**Note:** it seems we are still missing quite a lot of xref IDs so it's possible that this number will change). + +## Status + +* Status: Rejected +* Implementation JIRA Ticket(s): + +This work was abandoned due to the level of complexity it would require - not just for BFD itself, but also BFD's consumers. +Further, CCW was unable to find a large percentage of the missing beneficiary information, meaning this added complexity would not +be enough to solve the problem in all cases. Overall, it was decided that the costs outweighed the benefits. + +## Table of Contents + +- [RFC Proposal](#rfc-proposal) + - [Status](#status) + - [Table of Contents](#table-of-contents) + - [Causes](#causes) + - [Scenarios](#scenarios) + - [Scenario 1: Happy path](#scenario-1-happy-path) + - [Scenario 2: Null MBI that is cross-referenced](#scenario-2-null-mbi-that-is-cross-referenced) + - [Scenario 3: Null MBI that is not cross-referenced](#scenario-3-null-mbi-that-is-not-cross-referenced) + - [Scenario 4: Duplicate MBIs that are cross-referenced](#scenario-4-duplicate-mbis-that-are-cross-referenced) + - [Scenario 5: Duplicate MBIs that are not cross-referenced](#scenario-5-duplicate-mbis-that-are-not-cross-referenced) + - [Scenario 6: Cross-referenced beneficiaries with different MBIs](#scenario-6-cross-referenced-beneficiaries-with-different-mbis) + - [Scenario 7: Invalided cross-reference relationship](#scenario-7-invalided-cross-reference-relationship) + - [Potential Solutions - Patient Endpoint](#potential-solutions---patient-endpoint) + - [General Solutions for handling Patient resources when a merge occurs](#general-solutions-for-handling-patient-resources-when-a-merge-occurs) + - [Option 1 - Links (Replacement)](#option-1---links-replacement) + - [Using \_include to include linked items](#using-_include-to-include-linked-items) + - [Option 2 - Links (See Also)](#option-2---links-see-also) + - [Option 3 - Automatic Replacement](#option-3---automatic-replacement) + - [Option 4 - Freezing](#option-4---freezing) + - [Reconciling beneficiary records when searching by contract](#reconciling-beneficiary-records-when-searching-by-contract) + - [Option 1 - Links](#option-1---links) + - [Option 2 - Filtering](#option-2---filtering) + - [Missing historical identifiers when searching by contract](#missing-historical-identifiers-when-searching-by-contract) + - [Tradeoffs](#tradeoffs) + +## Causes + +The scenarios which cause these merged beneficiary records to be created are somewhat unclear. +In general, CCW attempts to link all upstream beneficiary data for an individual to a single beneficiary ID, but this process can behave erroneously due to limitations in the logic or bad data coming from upstream. + +One situation that we know does cause a cross-reference number to be generated is when a beneficiary's HICN changes under specific circumstances. +The following information is paraphrased from the EDB data dictionary: + +> The first nine characters of a HICN are known as the account number and the last one or two characters are known as the BIC (Beneficiary Identification Code). +> If the account number portion of a beneficiary's HICN changes, that will generate a cross reference ID. +> +> The BIC shows the relationship between the beneficiary and the Social Security wage earner. +> A beneficiary's BIC can change based on marital status or Social Security enrollment status. +> EDB has a concept of an "equatable" BIC change. +> When an equatable BIC change occurs, a cross reference ID is generated. +> A BIC change from 'B' (wife) to 'D' (widow) is an example of an equatable BIC change. +> Non-equatable BIC changes only happen under erroneous conditions. + +It's not explicitly stated, but I expect a cross-reference ID _should_ also be generated for non-equatable BIC changes and I have observed some instances of this. + +## Scenarios + +### Scenario 1: Happy path + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ----------- | ------- | ------- | ----------- | +| -10000013804662 | 1S00F46DH62 | null | null | null | + +This is the normal scenario - in most cases a beneficiary shouldn't have a cross-reference ID. + +Additionally, a beneficiary can have multiple MBIs that are properly attributed in BFD today. +These appear as historical identifiers on the patient resource. + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ----------- | ------- | ------- | ----------- | +| -10000013804934 | 1S99F46DM34 | null | null | null | +| -10000013804934 | 1S00F46DM34 | null | null | null | + +### Scenario 2: Null MBI that is cross-referenced + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ----------- | ------- | ------- | ----------- | +| -10000013804967 | 1S00F46DM67 | 1 | N | null | +| -10000013804970 | null | 1 | Y | null | + +There is a missing MBI for an older version of beneficiary record, but we can find the beneficiary's MBI from the newer cross-referenced record. + +### Scenario 3: Null MBI that is not cross-referenced + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ------- | ------- | ------- | ----------- | +| -10000013804914 | null | null | null | null | + +This beneficiary is missing an MBI, but does not have a cross-reference ID. There's no way for us to find the missing data that it's tied to. + +### Scenario 4: Duplicate MBIs that are cross-referenced + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ------------------ | ----------- | ------- | ------- | ----------- | +| -10000013804889 | 1S00F46DK89 | 2 | Y | null | +| -10000013804892 | 1S00F46DK89 | 2 | N | null | + +These records are cross-referenced, so they refer to the same beneficiary. Currently, BFD will return an error in this scenario. + +### Scenario 5: Duplicate MBIs that are not cross-referenced + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ----------- | ------- | ------- | ----------- | +| -10000013804673 | 1S00F46DH74 | null | null | null | +| -10000013804679 | 1S00F46DH74 | null | null | null | + +This is likely a case of two beneficiaries that should be cross-referenced. This is a very rare scenario (only a few dozen). CCW is looking into this to see if they can provide us with cross-reference IDs for the remaining cases. + +### Scenario 6: Cross-referenced beneficiaries with different MBIs + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ----------- | ------- | ------- | ----------- | +| -10000013804671 | 1S00F46DH71 | 3 | Y | null | +| -10000013804677 | 1S00F46DH77 | 3 | N | null | + +This beneficiary's MBI changed from 1S00EU8FF08 to 1S00EU8FF09. A single beneficiary's MBI can change over time, but usually the new MBI is associated with the existing beneficiary record. +In this case, the MBI change was associated with a different record instead of the existing one. Without a fix for the merged beneficiaries, the older MBI will not be shown in the list of historical MBIs. + +It's worth noting that sometimes a historical MBI will be linked to both the cross-referenced record and the new record, so we may have to add some logic to ensure we're not returning duplicate identifiers during a merge operation. + +### Scenario 7: Invalided cross-reference relationship + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ----------- | ------- | ------- | ----------- | +| -10000013804859 | 1S00F46DK59 | 3 | Y | null | +| -10000013804848 | 1S00F46DK48 | 3 | N | 1 | + +Here the `kill_credit` flag is set to `1`, indicating that the `xref_id` is no longer valid and should be treated as though it does not exist. + +## Potential Solutions - Patient Endpoint + +### General Solutions for handling Patient resources when a merge occurs + +#### Option 1 - Links (Replacement) + +When a beneficiary merge occurs, the Patient response will contain a field that lists any additional Patient resources that are cross-referenced. +A resource that contains a link marked as `replaced-by` means the resource refers to an older version of the beneficiary. +A resource that contains a link marked as `replaces` means the current resource is the most up-to-date, but older versions also exist. +A non-current Patient record will also have its `active` field set to `false` (**Note:** we don't currently set the `active` field at all). + +Using the following data: + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ----------- | ------- | ------- | ----------- | +| -10000013804671 | 1S00F46DH71 | 2 | Y | null | +| -10000013804677 | 1S00F46DH77 | 2 | N | null | + +Patient -10000013804677 replaces patient -10000013804671 + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 1, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_format=json&_id=-10000013804677" + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "-10000013804677", + "link": [ + { + "other": { + "reference": "Patient/-10000013804671" + }, + "type": "replaces" + } + ] + } + } + ] +} +``` + +Patient -10000013804671 is replaced by patient -10000013804677 + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 1, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_format=json&_id=-10000013804671" + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "-10000013804671", + "link": [ + { + "other": { + "reference": "Patient/-10000013804677" + }, + "type": "replaced-by" + } + ] + } + } + ] +} +``` + +##### Using _include to include linked items + +To fetch all linked items in a single call, the `_include` parameter can be set to `patient:link`. + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 2, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_format=json&_id=-10000013804677&_include=patient:link" + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "-10000013804677", + "link": [ + { + "other": { + "reference": "Patient/-10000013804671" + }, + "type": "replaces" + } + ] + } + }, + { + "resource": { + "resourceType": "Patient", + "id": "-10000013804671", + "link": [ + { + "other": { + "reference": "Patient/-10000013804677" + }, + "type": "replaced-by" + } + ] + } + } + ] +} +``` + +#### Option 2 - Links (See Also) + +Using the following data: + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ----------- | ------- | ------- | ----------- | +| -10000013804671 | 1S00F46DH71 | 2 | Y | null | +| -10000013804677 | 1S00F46DH77 | 2 | N | null | + +Searching by id (bene_id) will return only the matched record. +Searching by identifier (MBI) will return both resources. +In both cases, the response will contain a `link` field marked as `seealso`, which links to the other resource. + +As opposed to the `replaced-by`/`replaces` solution, this does not attempt to convey identity, which is helpful in the event that an un-merge occurs. + +The `_include` operation can be supported here just like in the previous option. + +We will still need an alternative way to convey which resource is the most current one. +This may need to be accomplished with an extension. + +Searching for id=-10000013804671 yields: + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 1, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_format=json&_id=-10000013804671" + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "-10000013804671", + "link": [ + { + "other": { + "reference": "Patient/-10000013804677" + }, + "type": "seealso" + } + ] + } + } + ] +} +``` + +Searching for id=-10000013804677 yields: + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 1, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_format=json&_id=-10000013804677" + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "-10000013804677", + "link": [ + { + "other": { + "reference": "Patient/-10000013804671" + }, + "type": "seealso" + } + ] + } + } + ] +} +``` + +#### Option 3 - Automatic Replacement + +Using the following data: + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | +| ----------------- | ----------- | ------- | ------- | ----------- | +| -10000013804671 | 1S00F46DH71 | 2 | Y | null | +| -10000013804677 | 1S00F46DH77 | 2 | N | null | + +Searching for beneficiary -10000013804671 will return data for beneficiary -10000013804677 with beneficiary 5's MBI included as a historical identifier. + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 1, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_format=json&_id=-10000013804671" + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "-10000013804677", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.152-07:00", + "profile": [ + "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "extension": [ + { + "url": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "valueCoding": { + "system": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "code": "current", + "display": "Current" + } + } + ], + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MC", + "display": "Patient's Medicare number" + } + ] + }, + "system": "http://hl7.org/fhir/sid/us-mbi", + "value": "1S00F46DH77", + }, + { + "type": { + "coding": [ + { + "extension": [ + { + "url": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "valueCoding": { + "system": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "code": "historic", + "display": "Historic" + } + } + ], + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MC", + "display": "Patient's Medicare number" + } + ] + }, + "system": "http://hl7.org/fhir/sid/us-mbi", + "value": "1S00F46DH71" + } + ], + } + } + ] +} +``` + +Searching for beneficiary -10000013804677 will behave the same way. + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 1, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_format=json&_id=6" + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "-10000013804677", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.152-07:00", + "profile": [ + "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "extension": [ + { + "url": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "valueCoding": { + "system": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "code": "current", + "display": "Current" + } + } + ], + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MC", + "display": "Patient's Medicare number" + } + ] + }, + "system": "http://hl7.org/fhir/sid/us-mbi", + "value": "1S00F46DH77", + }, + { + "type": { + "coding": [ + { + "extension": [ + { + "url": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "valueCoding": { + "system": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "code": "historic", + "display": "Historic" + } + } + ], + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MC", + "display": "Patient's Medicare number" + } + ] + }, + "system": "http://hl7.org/fhir/sid/us-mbi", + "value": "1S00F46DH71" + } + ], + } + } + ] +} +``` + +#### Option 4 - Freezing + +We could "freeze" the beneficiary ID so that we always use the same ID even if a newer version is later created. +This would prevent consumers from having to handle difficulties related to the bene_id changing over time. + +This would require storing a field in the database to indicate which cross reference ID is the "frozen" one. All records without a cross reference ID can initially have their frozen status set to `true` since this is the ID we are already sharing + +If we have a single, non-cross-referenced beneficiary: + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | frozen | kill_credit | +| ------------------ | ----------- | ------- | ------- | ------ | ----------- | +| -10000013804671 | 1S00F46DH71 | null | null | true | null | + + +and we later receive a new record to merge: + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | frozen | kill_credit | +| ----------------- | ----------- | ------- | ------- | ------ | ----------- | +| -10000013804671 | 1S00F46DH71 | 2 | Y | true | null | +| -10000013804677 | 1S00F46DH77 | 2 | N | false | null | + +We can consider the new MBI (1S00EU8FF09) the current identifier, but still return 5 as the bene_id so that consumer won't have to know about the bene_id changing. + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 1, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_format=json&_id=-10000013804671" + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "-10000013804677", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.152-07:00", + "profile": [ + "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "extension": [ + { + "url": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "valueCoding": { + "system": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "code": "current", + "display": "Current" + } + } + ], + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MC", + "display": "Patient's Medicare number" + } + ] + }, + "system": "http://hl7.org/fhir/sid/us-mbi", + "value": "1S00F46DH77", + }, + { + "type": { + "coding": [ + { + "extension": [ + { + "url": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "valueCoding": { + "system": "https://bluebutton.cms.gov/resources/codesystem/identifier-currency", + "code": "historic", + "display": "Historic" + } + } + ], + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MC", + "display": "Patient's Medicare number" + } + ] + }, + "system": "http://hl7.org/fhir/sid/us-mbi", + "value": "1S00F46DH71" + } + ], + } + } + ] +} +``` + +Searching for bene_id -10000013804677 would behave as though that ID doesn't exist at all. + +```json +{ + "resourceType": "Bundle", + "id": "b1c08916-7cea-4c55-b7c9-5a03e59dd48b", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 0, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_format=json&_id=-10000013804677" + } + ] +} +``` + +The main challenge with this approach is handling existing data since we're currently returning the merged beneficiaries as though they're distinct records. +We would likely need a one-time process to reset any data being stored downstream. + +### Reconciling beneficiary records when searching by contract + +#### Option 1 - Links + +If we have the following data: + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | ptdcntrct01 | rfrnc_yr | +| ----------------- | ----------- | ------- | ------- | ----------- | ----------- | -------- | +| 2 | 1S00EU8FF05 | 1 | N | null | Z1234 | 2019 | +| 3 | null | 1 | Y | null | S4607 | 2018 | + +We can use the linking solution mentioned above in this scenario as well. +Instead of automatically finding the most recent version, we return the record as is and require the caller to request the cross-referenced resource by following the link. + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 1, + "active": false, + + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_has:Coverage.extension=https://bluebutton.cms.gov/resources/variables/ptdcntrct01|S4607&_has:Coverage.rfrncyr=2018" + }, + { + "other": { + "reference": "Patient/2" + }, + "type": "seealso" // or replaces/replaced-by if we go with that option + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "3", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.152-07:00", + "profile": [ + "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient" + ] + } + } + } + ] +} +``` + +#### Option 2 - Filtering + +If a beneficiary record is found in the search, but it has a newer version available, only the newest version will be returned. + +If we have the following data: + +| bene_id (FHIR ID) | mbi_num | xref_id | xref_sw | kill_credit | ptdcntrct01 | rfrnc_yr | +| ----------------- | ----------- | ------- | ------- | ----------- | ----------- | -------- | +| 2 | 1S00EU8FF05 | 1 | Y | null | Z1234 | 2019 | +| 3 | null | 1 | N | null | S4607 | 2018 | + +and the caller searches for `/v2/fhir/Patient?_has:Coverage.extension=https://bluebutton.cms.gov/resources/variables/ptdcntrct01|S4607&_has:Coverage.rfrncyr=2018`, normally beneficiary 3 would be returned. However, because beneficiary 3 has been merged into beneficiary 2, beneficiary 2 will be returned instead. + +```json +{ + "resourceType": "Bundle", + "id": "720151cf-dfc9-4516-ab39-2925100c7429", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.371-07:00" + }, + "type": "searchset", + "total": 1, + "link": [ + { + "relation": "self", + "url": "https://prod.bfd.cms.gov/v2/fhir/Patient?_has:Coverage.extension=https://bluebutton.cms.gov/resources/variables/ptdcntrct01|S4607&_has:Coverage.rfrncyr=2018" + } + ], + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "2", + "meta": { + "lastUpdated": "2024-08-09T12:44:27.152-07:00", + "profile": [ + "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient" + ] + } + } + } + ] +} +``` + +### Missing historical identifiers when searching by contract + +Currently, we do not return historical identifiers when searching by contract. +This means that any consumers of this data who attempt to use MBI as a unique identifier for bulk patient data are not able to correctly link together all of that beneficiary's data if their MBI changes. + +This issue is distinct from the merge operations that we've been discussing so far, but it has enough of an overlap that it might make sense to address both issues simultaneously. + +With historical identifiers included and of of the proposed changes above included, consumers will be able to see all identifiers associated with the current and past beneficiary records. + +## Tradeoffs + +These potential solutions fall under a spectrum of tradeoffs between "correctness" and level of effort for consumers. +The links-based approach is the most correct approach from a FHIR perspective, but requires the most effort from our peering partners and potentially from downstream users as well. +Using links with `seealso` rather than `replaces`/`replaced-by` makes the relationship between current and previous records less explicit, but provides more flexibility for handling un-merge operations (based on kill-credit) since we're no longer making a statement on identity between links. From 498d00fefd41e8f775ef30a6ebc534355466d76b Mon Sep 17 00:00:00 2001 From: aschey-forpeople <162160982+aschey-forpeople@users.noreply.github.com> Date: Thu, 16 Jan 2025 13:19:34 -0800 Subject: [PATCH 11/13] BBFD-3829: Gracefully handle improperly formatted numeric request parameters (#2525) --- .../server/war/commons/OffsetLinkBuilder.java | 14 ++-- .../war/commons/PatientLinkBuilder.java | 14 ++-- .../bfd/server/war/commons/StringUtils.java | 37 +++++++++++ .../providers/R4CoverageResourceProvider.java | 10 ++- ...4ExplanationOfBenefitResourceProvider.java | 3 +- .../providers/R4PatientResourceProvider.java | 12 ++-- .../providers/CoverageResourceProvider.java | 7 +- .../ExplanationOfBenefitResourceProvider.java | 3 +- .../providers/PatientResourceProvider.java | 12 ++-- .../cms/bfd/server/war/CoverageE2EBase.java | 13 ++++ .../war/ExplanationOfBenefitE2EBase.java | 15 +++++ .../cms/bfd/server/war/PatientE2EBase.java | 66 ++++++++++++++++++- ...lanationOfBenefitResourceProviderTest.java | 2 +- .../R4PatientResourceProviderTest.java | 3 +- ...lanationOfBenefitResourceProviderTest.java | 2 +- .../PatientResourceProviderTest.java | 3 +- 16 files changed, 171 insertions(+), 45 deletions(-) diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/OffsetLinkBuilder.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/OffsetLinkBuilder.java index 21129dd7b4..90f374cd45 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/OffsetLinkBuilder.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/OffsetLinkBuilder.java @@ -89,16 +89,10 @@ private Optional parseIntegerParameters( RequestDetails requestDetails, String parameterToParse) { if (requestDetails.getParameters().containsKey(parameterToParse)) { - try { - return Optional.of( - Integer.parseInt(requestDetails.getParameters().get(parameterToParse)[0])); - } catch (NumberFormatException e) { - LOGGER.warn( - "Invalid argument in request URL: " + parameterToParse + ". Cannot parse to Integer.", - e); - throw new InvalidRequestException( - "Invalid argument in request URL: " + parameterToParse + " must be a number."); - } + + return Optional.of( + StringUtils.parseIntOrBadRequest( + requestDetails.getParameters().get(parameterToParse)[0], parameterToParse)); } return Optional.empty(); } diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/PatientLinkBuilder.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/PatientLinkBuilder.java index 2c7235baf4..a54524a6ed 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/PatientLinkBuilder.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/PatientLinkBuilder.java @@ -110,7 +110,7 @@ public void addLinks(Bundle to) { if (hasAnotherPage) { Patient lastPatient = (Patient) entries.get(entries.size() - 1).getResource(); - Long lastPatientId = Long.parseLong(lastPatient.getId()); + Long lastPatientId = StringUtils.parseLongOrBadRequest(lastPatient.getId(), PARAM_CURSOR); to.addLink( new Bundle.BundleLinkComponent() .setRelation(Constants.LINK_NEXT) @@ -165,13 +165,7 @@ public Long getCursor() { private Integer extractCountParam(UriComponents components) { String countText = components.getQueryParams().getFirst(Constants.PARAM_COUNT); if (countText != null) { - try { - return Integer.parseInt(countText); - } catch (NumberFormatException ex) { - throw new InvalidRequestException( - String.format( - "Invalid argument in request URL: %s must be a number.", Constants.PARAM_COUNT)); - } + return StringUtils.parseIntOrBadRequest(countText, Constants.PARAM_COUNT); } return null; } @@ -184,7 +178,9 @@ private Integer extractCountParam(UriComponents components) { */ private Long extractCursorParam(UriComponents components) { String cursorText = components.getQueryParams().getFirst(PARAM_CURSOR); - return cursorText != null && cursorText.length() > 0 ? Long.parseLong(cursorText) : null; + return cursorText != null && cursorText.length() > 0 + ? StringUtils.parseLongOrBadRequest(cursorText, PARAM_CURSOR) + : null; } /** diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/StringUtils.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/StringUtils.java index 0ff57a8c33..2934fc8af3 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/StringUtils.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/commons/StringUtils.java @@ -1,5 +1,6 @@ package gov.cms.bfd.server.war.commons; +import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; import com.google.common.collect.ImmutableList; /** Helper Utils class for Functions shared across. multiple classes. */ @@ -31,4 +32,40 @@ public static String[] splitOnCommas(String input) { } return builder.build().toArray(new String[0]); } + + /** + * Attempts to parse the input as a Long, throwing a bad request error if it fails. + * + * @param input numeric input + * @param fieldName field name for error message + * @return parsed value + */ + public static Long parseLongOrBadRequest(String input, String fieldName) { + try { + return Long.parseLong(input); + } catch (NumberFormatException ex) { + // Intentionally omitting the supplied input from the message here because it could be + // sensitive + throw new InvalidRequestException( + String.format("Failed to parse value for %s as a number.", fieldName)); + } + } + + /** + * Attempts to parse the input as an int, throwing a bad request error if it fails. + * + * @param input numeric input + * @param fieldName field name for error message + * @return parsed value + */ + public static int parseIntOrBadRequest(String input, String fieldName) { + try { + return Integer.parseInt(input); + } catch (NumberFormatException ex) { + // Intentionally omitting the supplied input from the message here because it could be + // sensitive + throw new InvalidRequestException( + String.format("Failed to parse value for %s as a number.", fieldName)); + } + } } diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4CoverageResourceProvider.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4CoverageResourceProvider.java index c9f17b2570..e2f4283914 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4CoverageResourceProvider.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4CoverageResourceProvider.java @@ -32,6 +32,7 @@ import gov.cms.bfd.server.war.commons.ProfileConstants; import gov.cms.bfd.server.war.commons.QueryUtils; import gov.cms.bfd.server.war.commons.RetryOnFailoverOrConnectionException; +import gov.cms.bfd.server.war.commons.StringUtils; import jakarta.persistence.EntityManager; import jakarta.persistence.NoResultException; import jakarta.persistence.PersistenceContext; @@ -183,11 +184,13 @@ public Coverage read(@IdParam IdType coverageId) { if (coverageIdMatcher.matches()) { profileUsed = Profile.C4BB; coverageIdSegmentText = coverageIdMatcher.group(1); - beneficiaryId = Long.parseLong(coverageIdMatcher.group(2)); + beneficiaryId = + StringUtils.parseLongOrBadRequest(coverageIdMatcher.group(2), "Beneficiary ID"); } else { profileUsed = Profile.C4DIC; coverageIdSegmentText = c4dicCoverageIdMatcher.group(1); - beneficiaryId = Long.parseLong(c4dicCoverageIdMatcher.group(2)); + beneficiaryId = + StringUtils.parseLongOrBadRequest(c4dicCoverageIdMatcher.group(2), "Beneficiary ID"); } coverageIdSegment = MedicareSegment.selectByUrlPrefix(coverageIdSegmentText, profileUsed); @@ -267,7 +270,8 @@ public Bundle searchByBeneficiary( String profile, RequestDetails requestDetails) { List coverages; - Long beneficiaryId = Long.parseLong(beneficiary.getIdPart()); + Long beneficiaryId = + StringUtils.parseLongOrBadRequest(beneficiary.getIdPart(), "Beneficiary ID"); Profile chosenProfile = (this.enabledProfiles.contains(Profile.C4DIC) && profile != null) diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4ExplanationOfBenefitResourceProvider.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4ExplanationOfBenefitResourceProvider.java index 6ca98506ce..f4cd8824ff 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4ExplanationOfBenefitResourceProvider.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4ExplanationOfBenefitResourceProvider.java @@ -34,6 +34,7 @@ import gov.cms.bfd.server.war.commons.OffsetLinkBuilder; import gov.cms.bfd.server.war.commons.OpenAPIContentProvider; import gov.cms.bfd.server.war.commons.RetryOnFailoverOrConnectionException; +import gov.cms.bfd.server.war.commons.StringUtils; import jakarta.persistence.EntityManager; import jakarta.persistence.NoResultException; import jakarta.persistence.PersistenceContext; @@ -340,7 +341,7 @@ public Bundle findByPatient( * later. */ OffsetLinkBuilder paging = new OffsetLinkBuilder(requestDetails, "/ExplanationOfBenefit?"); - Long beneficiaryId = Long.parseLong(patient.getIdPart()); + Long beneficiaryId = StringUtils.parseLongOrBadRequest(patient.getIdPart(), "Patient ID"); Set claimTypesRequested = CommonTransformerUtils.parseTypeParam(type); boolean includeTaxNumbers = returnIncludeTaxNumbers(requestDetails); boolean filterSamhsa = CommonTransformerUtils.shouldFilterSamhsa(excludeSamhsa, requestDetails); diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4PatientResourceProvider.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4PatientResourceProvider.java index efe892bcd1..143881b372 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4PatientResourceProvider.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/r4/providers/R4PatientResourceProvider.java @@ -1,5 +1,7 @@ package gov.cms.bfd.server.war.r4.providers; +import static gov.cms.bfd.server.war.commons.StringUtils.parseIntOrBadRequest; +import static gov.cms.bfd.server.war.commons.StringUtils.parseLongOrBadRequest; import static gov.cms.bfd.server.war.commons.StringUtils.splitOnCommas; import static java.util.Objects.requireNonNull; @@ -272,7 +274,7 @@ public Bundle searchByLogicalId( if (RequestTypeEnum.POST != requestDetails.getRequestType()) { throw new InvalidRequestException( String.format( - "Search query by '%s' is onlu supported in POST request", + "Search query by '%s' is only supported in POST request", TransformerConstants.CODING_BBAPI_MEDICARE_BENEFICIARY_ID_UNHASHED)); } } else if (logicalId.getSystem() != null && !logicalId.getSystem().isEmpty()) { @@ -298,7 +300,7 @@ public Bundle searchByLogicalId( beneId = id.isPresent() ? Long.parseLong(id.get().getValue()) : 0; } } else { - beneId = Long.parseLong(logicalId.getValue()); + beneId = parseLongOrBadRequest(logicalId.getValue(), "Patient ID"); if (loadedFilterManager.isResultSetEmpty(beneId, lastUpdated)) { // Add bene_id to MDC logs when _lastUpdated filter is in effect LoggingUtils.logBeneIdToMdc(beneId); @@ -389,11 +391,7 @@ public Bundle searchByCoverageContract( * `else` on this * needs to become an invalid request. */ - try { - year = Integer.parseInt(referenceYear.getValueNotNull()); - } catch (NumberFormatException e) { - throw new InvalidRequestException("Contract year must be a number.", e); - } + year = parseIntOrBadRequest(referenceYear.getValueNotNull(), "Contract Year"); } YearMonth ym = YearMonth.of(year, Integer.valueOf(contractMonthValue)); diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/CoverageResourceProvider.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/CoverageResourceProvider.java index a1641a1e71..74d27bc3b3 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/CoverageResourceProvider.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/CoverageResourceProvider.java @@ -29,6 +29,7 @@ import gov.cms.bfd.server.war.commons.OpenAPIContentProvider; import gov.cms.bfd.server.war.commons.QueryUtils; import gov.cms.bfd.server.war.commons.RetryOnFailoverOrConnectionException; +import gov.cms.bfd.server.war.commons.StringUtils; import jakarta.persistence.EntityManager; import jakarta.persistence.NoResultException; import jakarta.persistence.PersistenceContext; @@ -158,7 +159,8 @@ public Coverage read(@IdParam IdType coverageId) { if (!coverageIdSegment.isPresent()) throw new ResourceNotFoundException(coverageId); String coverageIdBeneficiaryIdText = coverageIdMatcher.group(2); - Long beneficiaryId = Long.parseLong(coverageIdBeneficiaryIdText); + Long beneficiaryId = + StringUtils.parseLongOrBadRequest(coverageIdBeneficiaryIdText, "Beneficiary ID"); Beneficiary beneficiaryEntity; try { beneficiaryEntity = findBeneficiaryById(beneficiaryId, null); @@ -219,7 +221,8 @@ public Bundle searchByBeneficiary( DateRangeParam lastUpdated, RequestDetails requestDetails) { List coverages; - Long beneficiaryId = Long.parseLong(beneficiary.getIdPart()); + Long beneficiaryId = + StringUtils.parseLongOrBadRequest(beneficiary.getIdPart(), "Beneficiary ID"); try { Beneficiary beneficiaryEntity = findBeneficiaryById(beneficiaryId, lastUpdated); coverages = coverageTransformer.transform(beneficiaryEntity); diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/ExplanationOfBenefitResourceProvider.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/ExplanationOfBenefitResourceProvider.java index d23cd27f67..1c14f06879 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/ExplanationOfBenefitResourceProvider.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/ExplanationOfBenefitResourceProvider.java @@ -31,6 +31,7 @@ import gov.cms.bfd.server.war.commons.OffsetLinkBuilder; import gov.cms.bfd.server.war.commons.OpenAPIContentProvider; import gov.cms.bfd.server.war.commons.RetryOnFailoverOrConnectionException; +import gov.cms.bfd.server.war.commons.StringUtils; import jakarta.persistence.EntityManager; import jakarta.persistence.NoResultException; import jakarta.persistence.PersistenceContext; @@ -321,7 +322,7 @@ public Bundle findByPatient( * later. */ OffsetLinkBuilder paging = new OffsetLinkBuilder(requestDetails, "/ExplanationOfBenefit?"); - Long beneficiaryId = Long.parseLong(patient.getIdPart()); + Long beneficiaryId = StringUtils.parseLongOrBadRequest(patient.getIdPart(), "Patient ID"); Set claimTypesRequested = CommonTransformerUtils.parseTypeParam(type); boolean includeTaxNumbers = returnIncludeTaxNumbers(requestDetails); boolean filterSamhsa = CommonTransformerUtils.shouldFilterSamhsa(excludeSamhsa, requestDetails); diff --git a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/PatientResourceProvider.java b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/PatientResourceProvider.java index cd08a76974..019d5e4c59 100644 --- a/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/PatientResourceProvider.java +++ b/apps/bfd-server/bfd-server-war/src/main/java/gov/cms/bfd/server/war/stu3/providers/PatientResourceProvider.java @@ -1,5 +1,7 @@ package gov.cms.bfd.server.war.stu3.providers; +import static gov.cms.bfd.server.war.commons.StringUtils.parseIntOrBadRequest; +import static gov.cms.bfd.server.war.commons.StringUtils.parseLongOrBadRequest; import static gov.cms.bfd.server.war.commons.StringUtils.splitOnCommas; import static java.util.Objects.requireNonNull; @@ -253,11 +255,7 @@ public Bundle searchByCoverageContract( * TODO Once AB2D has switched to always specifying the year, the implicit `else` on this * needs to become an invalid request. */ - try { - year = Integer.parseInt(referenceYear.getValueNotNull()); - } catch (NumberFormatException e) { - throw new InvalidRequestException("Contract year must be a number.", e); - } + year = parseIntOrBadRequest(referenceYear.getValueNotNull(), "Contract Year"); } YearMonth ym = YearMonth.of(year, Integer.valueOf(contractMonthValue)); @@ -323,7 +321,7 @@ public Bundle searchByLogicalId( if (RequestTypeEnum.POST != requestDetails.getRequestType()) { throw new InvalidRequestException( String.format( - "Search query by '%s' is onlu supported in POST request", + "Search query by '%s' is only supported in POST request", TransformerConstants.CODING_BBAPI_MEDICARE_BENEFICIARY_ID_UNHASHED)); } } else if (logicalId.getSystem() != null && !logicalId.getSystem().isEmpty()) { @@ -348,7 +346,7 @@ public Bundle searchByLogicalId( beneId = id.isPresent() ? Long.parseLong(id.get().getValue()) : 0; } } else { - beneId = Long.parseLong(logicalId.getValue()); + beneId = parseLongOrBadRequest(logicalId.getValue(), "Patient ID"); if (loadedFilterManager.isResultSetEmpty(beneId, lastUpdated)) { // Add bene_id to MDC logs when _lastUpdated filter is in effect LoggingUtils.logBeneIdToMdc(beneId); diff --git a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/CoverageE2EBase.java b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/CoverageE2EBase.java index d35328d113..bc88617a58 100644 --- a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/CoverageE2EBase.java +++ b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/CoverageE2EBase.java @@ -163,6 +163,19 @@ public void testSearchByBeneWithMissingBeneExpectNoResults() { .get(requestString); } + /** Verify that Coverage returns a 400 when searching with an invalid bene ID. */ + @Test + public void testSearchByBeneInvalidBeneIdExpect400() { + String requestString = coverageEndpoint + "?beneficiary=abc"; + given() + .spec(requestAuth) + .expect() + .statusCode(400) + .body("issue.severity", hasItem("error")) + .when() + .get(requestString); + } + /** * Verify that Coverage with paging requested returns the paging links and navigating to those * links returns valid paged results. diff --git a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/ExplanationOfBenefitE2EBase.java b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/ExplanationOfBenefitE2EBase.java index 6d03740ecd..c9df4f90f8 100644 --- a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/ExplanationOfBenefitE2EBase.java +++ b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/ExplanationOfBenefitE2EBase.java @@ -348,6 +348,21 @@ public void testEobByPatientIdWithPageSizeZeroReturnsNoPaging() { .get(requestString); } + /** Verify that EOB returns a 400 when searching with an invalid bene ID. */ + @Test + public void testEobByPatientIdWithInvalidIdReturns400() { + + String requestString = eobEndpoint + "?patient=abc"; + + given() + .spec(requestAuth) + .expect() + .statusCode(400) + .body("issue.severity", hasItem("error")) + .when() + .get(requestString); + } + /** * Tests that when searching for EOB by patient id and an unrecognized request param results in a * 400 http code. diff --git a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/PatientE2EBase.java b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/PatientE2EBase.java index 0d97e89c70..30307ecff7 100644 --- a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/PatientE2EBase.java +++ b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/PatientE2EBase.java @@ -230,6 +230,70 @@ public void testPatientUsingGetByIdentifierUsingUnhashedMbi() { .get(requestString); } + /** Verify that Patient returns a 400 when searching with an invalid bene ID. */ + @Test + public void testPatientUsingGetByIdentifierInvalidId() { + String requestString = patientEndpoint + "?_id=abc"; + + given() + .spec(requestAuth) + .headers(headers) + .expect() + .statusCode(400) + .body("issue.severity", hasItem("error")) + .when() + .get(requestString); + } + + /** Verify that Patient returns a 400 when searching with an invalid count. */ + @Test + public void testPatientUsingGetByIdentifierInvalidCount() { + String contractId = + CCWUtils.calculateVariableReferenceUrl(CcwCodebookVariable.PTDCNTRCT01) + "|S4607"; + String refYear = CCWUtils.calculateVariableReferenceUrl(CcwCodebookVariable.RFRNC_YR) + "|2023"; + String requestString = + patientEndpoint + + "?_has:Coverage.extension=" + + contractId + + "&_has:Coverage.rfrncyr=" + + refYear + + "&_count=abc"; + + given() + .spec(requestAuth) + .headers(headers) + .expect() + .statusCode(400) + .body("issue.severity", hasItem("error")) + .when() + .get(requestString); + } + + /** Verify that Patient returns a 400 when searching with an invalid bene cursor. */ + @Test + public void testPatientUsingGetByIdInvalidCursor() { + String contractId = + CCWUtils.calculateVariableReferenceUrl(CcwCodebookVariable.PTDCNTRCT01) + "|S4607"; + String refYear = CCWUtils.calculateVariableReferenceUrl(CcwCodebookVariable.RFRNC_YR) + "|2023"; + String requestString = + patientEndpoint + + "?_has:Coverage.extension=" + + contractId + + "&_has:Coverage.rfrncyr=" + + refYear + + "&_count=1" + + "&cursor=abc"; + + given() + .spec(requestAuth) + .headers(headers) + .expect() + .statusCode(400) + .body("issue.severity", hasItem("error")) + .when() + .get(requestString); + } + /** * Verifies that Patient searchByIdentifier returns a 200 when using HTTP POST with an unhashed * MBI in the Request body. @@ -602,7 +666,7 @@ public void testPatientByPartDContractWithInvalidYearExpect400() { .headers(headers) .expect() .body("issue.severity", hasItem("error")) - .body("issue.diagnostics", hasItem("Contract year must be a number.")) + .body("issue.diagnostics", hasItem("Failed to parse value for Contract Year as a number.")) .statusCode(400) .when() .get(requestString); diff --git a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/r4/providers/R4ExplanationOfBenefitResourceProviderTest.java b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/r4/providers/R4ExplanationOfBenefitResourceProviderTest.java index 4dd0fd4063..790f1b44bc 100644 --- a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/r4/providers/R4ExplanationOfBenefitResourceProviderTest.java +++ b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/r4/providers/R4ExplanationOfBenefitResourceProviderTest.java @@ -440,7 +440,7 @@ void testFindByPatientWhenInvalidIdExpectException() { when(patientParam.getIdPart()).thenReturn("-1?234"); assertThrows( - NumberFormatException.class, + InvalidRequestException.class, () -> eobProvider.findByPatient( patientParam, null, null, null, null, null, null, null, requestDetails)); diff --git a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/r4/providers/R4PatientResourceProviderTest.java b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/r4/providers/R4PatientResourceProviderTest.java index 06eb17728f..6c767c911e 100644 --- a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/r4/providers/R4PatientResourceProviderTest.java +++ b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/r4/providers/R4PatientResourceProviderTest.java @@ -463,7 +463,8 @@ public void testSearchByCoverageContractWhenNonNumericContractIdExpectException( () -> patientProvider.searchByCoverageContract( contractId, refYear, null, requestDetails)); - assertEquals("Contract year must be a number.", exception.getLocalizedMessage()); + assertEquals( + "Failed to parse value for Contract Year as a number.", exception.getLocalizedMessage()); } /** diff --git a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/stu3/providers/ExplanationOfBenefitResourceProviderTest.java b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/stu3/providers/ExplanationOfBenefitResourceProviderTest.java index 5ce2aec3df..f261a925ec 100644 --- a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/stu3/providers/ExplanationOfBenefitResourceProviderTest.java +++ b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/stu3/providers/ExplanationOfBenefitResourceProviderTest.java @@ -438,7 +438,7 @@ void testFindByPatientWhenInvalidIdExpectException() { when(patientParam.getIdPart()).thenReturn("-1?234"); assertThrows( - NumberFormatException.class, + InvalidRequestException.class, () -> eobProvider.findByPatient( patientParam, null, null, null, null, null, null, requestDetails)); diff --git a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/stu3/providers/PatientResourceProviderTest.java b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/stu3/providers/PatientResourceProviderTest.java index 7253f6cd3c..2ca7fcd88c 100644 --- a/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/stu3/providers/PatientResourceProviderTest.java +++ b/apps/bfd-server/bfd-server-war/src/test/java/gov/cms/bfd/server/war/stu3/providers/PatientResourceProviderTest.java @@ -262,7 +262,8 @@ public void testSearchByCoverageContractWhereNonNumericContractIdExpectException () -> patientProvider.searchByCoverageContract( contractId, refYear, null, requestDetails)); - assertEquals("Contract year must be a number.", exception.getLocalizedMessage()); + assertEquals( + "Failed to parse value for Contract Year as a number.", exception.getLocalizedMessage()); } /** From 599155a392ae0bbac1e74addf0869f3e108aec62 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 16 Jan 2025 21:28:48 +0000 Subject: [PATCH 12/13] [maven-release-plugin] prepare release 2.174.0 --- apps/bfd-data-fda/pom.xml | 2 +- apps/bfd-data-npi/pom.xml | 2 +- apps/bfd-db-migrator/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-data/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-library/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-plugin/pom.xml | 2 +- .../bfd-model-dsl-codegen-library/pom.xml | 2 +- .../bfd-model-dsl-codegen-plugin/pom.xml | 4 ++-- apps/bfd-model/bfd-model-dsl-codegen/pom.xml | 2 +- apps/bfd-model/bfd-model-rda/pom.xml | 2 +- apps/bfd-model/bfd-model-rif-samples/pom.xml | 2 +- apps/bfd-model/bfd-model-rif/pom.xml | 2 +- apps/bfd-model/pom.xml | 2 +- apps/bfd-ops/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-app/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml | 2 +- apps/bfd-pipeline/pom.xml | 2 +- apps/bfd-server/bfd-server-docs/pom.xml | 2 +- apps/bfd-server/bfd-server-image/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher-sample/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher/pom.xml | 2 +- apps/bfd-server/bfd-server-shared-utils/pom.xml | 2 +- apps/bfd-server/bfd-server-war/pom.xml | 2 +- apps/bfd-server/pom.xml | 2 +- apps/bfd-shared-test-utils/pom.xml | 2 +- apps/bfd-shared-utils/pom.xml | 2 +- apps/pom.xml | 6 +++--- 32 files changed, 35 insertions(+), 35 deletions(-) diff --git a/apps/bfd-data-fda/pom.xml b/apps/bfd-data-fda/pom.xml index a7d4f73526..42a83269a1 100644 --- a/apps/bfd-data-fda/pom.xml +++ b/apps/bfd-data-fda/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 gov.cms.bfd.data.fda.utility diff --git a/apps/bfd-data-npi/pom.xml b/apps/bfd-data-npi/pom.xml index 1c3d699fa0..82e879c667 100644 --- a/apps/bfd-data-npi/pom.xml +++ b/apps/bfd-data-npi/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 gov.cms.bfd.data.npi diff --git a/apps/bfd-db-migrator/pom.xml b/apps/bfd-db-migrator/pom.xml index d21bfdb75f..ff38960efe 100644 --- a/apps/bfd-db-migrator/pom.xml +++ b/apps/bfd-db-migrator/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-db-migrator diff --git a/apps/bfd-model/bfd-model-codebook-data/pom.xml b/apps/bfd-model/bfd-model-codebook-data/pom.xml index 277b9438b8..158c73736e 100644 --- a/apps/bfd-model/bfd-model-codebook-data/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-data/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-codebook-data diff --git a/apps/bfd-model/bfd-model-codebook-library/pom.xml b/apps/bfd-model/bfd-model-codebook-library/pom.xml index f5227c8f2c..d1a5e79019 100644 --- a/apps/bfd-model/bfd-model-codebook-library/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-codebook-library diff --git a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml index 3421022d5d..d36986dd8e 100644 --- a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-codebook-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml index 10dda61154..1ecc69c0cb 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-dsl-codegen-library diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml index ae15975e60..a597805ee9 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml @@ -5,11 +5,11 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-dsl-codegen-plugin - 2.174.0-SNAPSHOT + 2.174.0 maven-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml index 704ff03b7b..301e7bb41b 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-dsl-codegen-parent diff --git a/apps/bfd-model/bfd-model-rda/pom.xml b/apps/bfd-model/bfd-model-rda/pom.xml index 5dcc8b3d86..d33e653dd7 100644 --- a/apps/bfd-model/bfd-model-rda/pom.xml +++ b/apps/bfd-model/bfd-model-rda/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-rda diff --git a/apps/bfd-model/bfd-model-rif-samples/pom.xml b/apps/bfd-model/bfd-model-rif-samples/pom.xml index f2eb600875..433d736308 100644 --- a/apps/bfd-model/bfd-model-rif-samples/pom.xml +++ b/apps/bfd-model/bfd-model-rif-samples/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-rif-samples diff --git a/apps/bfd-model/bfd-model-rif/pom.xml b/apps/bfd-model/bfd-model-rif/pom.xml index f69d76fc13..a1601b75f2 100644 --- a/apps/bfd-model/bfd-model-rif/pom.xml +++ b/apps/bfd-model/bfd-model-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-rif diff --git a/apps/bfd-model/pom.xml b/apps/bfd-model/pom.xml index 5fe4a09df1..d4fe089805 100644 --- a/apps/bfd-model/pom.xml +++ b/apps/bfd-model/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-model-parent diff --git a/apps/bfd-ops/pom.xml b/apps/bfd-ops/pom.xml index 1fe5bfe694..9e10bc7bf1 100644 --- a/apps/bfd-ops/pom.xml +++ b/apps/bfd-ops/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-ops diff --git a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml index 7b6f500c08..ba54e35d25 100644 --- a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-pipeline-app diff --git a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml index 5a4c80c0f6..5aa634fdfe 100644 --- a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-pipeline-ccw-rif diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml index 9463576e6e..4bbea7415b 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-pipeline-rda-bridge diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml index 2c3e19d513..a62ce38d61 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-pipeline-rda-grpc-apps diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml index 825f615471..0c7fc94fcd 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-pipeline-rda-grpc diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml index 08a9200ed7..fd9c203a30 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-pipeline-shared-test-utils diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml index 70d0db76b1..ae3ed33850 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-pipeline-shared-utils diff --git a/apps/bfd-pipeline/pom.xml b/apps/bfd-pipeline/pom.xml index 4f7f51d294..af8377f748 100644 --- a/apps/bfd-pipeline/pom.xml +++ b/apps/bfd-pipeline/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-pipeline-parent diff --git a/apps/bfd-server/bfd-server-docs/pom.xml b/apps/bfd-server/bfd-server-docs/pom.xml index 91617f5602..4ce5162ff3 100644 --- a/apps/bfd-server/bfd-server-docs/pom.xml +++ b/apps/bfd-server/bfd-server-docs/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-server-docs diff --git a/apps/bfd-server/bfd-server-image/pom.xml b/apps/bfd-server/bfd-server-image/pom.xml index 99ee67868b..4158642df5 100644 --- a/apps/bfd-server/bfd-server-image/pom.xml +++ b/apps/bfd-server/bfd-server-image/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-server-image diff --git a/apps/bfd-server/bfd-server-launcher-sample/pom.xml b/apps/bfd-server/bfd-server-launcher-sample/pom.xml index ebb2f5866e..7bca26b8e4 100644 --- a/apps/bfd-server/bfd-server-launcher-sample/pom.xml +++ b/apps/bfd-server/bfd-server-launcher-sample/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-server-launcher-sample diff --git a/apps/bfd-server/bfd-server-launcher/pom.xml b/apps/bfd-server/bfd-server-launcher/pom.xml index 64a2f7d79e..728a9947bc 100644 --- a/apps/bfd-server/bfd-server-launcher/pom.xml +++ b/apps/bfd-server/bfd-server-launcher/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-server-launcher diff --git a/apps/bfd-server/bfd-server-shared-utils/pom.xml b/apps/bfd-server/bfd-server-shared-utils/pom.xml index 7f39e624b5..31273fd432 100644 --- a/apps/bfd-server/bfd-server-shared-utils/pom.xml +++ b/apps/bfd-server/bfd-server-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-server-shared-utils diff --git a/apps/bfd-server/bfd-server-war/pom.xml b/apps/bfd-server/bfd-server-war/pom.xml index d91294b246..292fdc2d96 100644 --- a/apps/bfd-server/bfd-server-war/pom.xml +++ b/apps/bfd-server/bfd-server-war/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-server-war diff --git a/apps/bfd-server/pom.xml b/apps/bfd-server/pom.xml index 9167a10578..8945d45203 100644 --- a/apps/bfd-server/pom.xml +++ b/apps/bfd-server/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-server-parent diff --git a/apps/bfd-shared-test-utils/pom.xml b/apps/bfd-shared-test-utils/pom.xml index 93c4effa04..f9513cccbe 100644 --- a/apps/bfd-shared-test-utils/pom.xml +++ b/apps/bfd-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-shared-test-utils diff --git a/apps/bfd-shared-utils/pom.xml b/apps/bfd-shared-utils/pom.xml index 9a29351246..b20e5bf288 100644 --- a/apps/bfd-shared-utils/pom.xml +++ b/apps/bfd-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 bfd-shared-utils diff --git a/apps/pom.xml b/apps/pom.xml index 0c399f9c0b..384bb5d3b2 100644 --- a/apps/pom.xml +++ b/apps/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.174.0-SNAPSHOT + 2.174.0 pom bfd-parent @@ -40,7 +40,7 @@ scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git https://github.com/CMSgov/beneficiary-fhir-data - HEAD + 2.174.0 @@ -65,7 +65,7 @@ 21 - 2025-01-14T21:42:28Z + 2025-01-16T21:21:28Z true jacoco From ecfc0aec16d0b047874099a926dd21460ab3582c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 16 Jan 2025 21:29:31 +0000 Subject: [PATCH 13/13] [maven-release-plugin] prepare for next development iteration --- apps/bfd-data-fda/pom.xml | 2 +- apps/bfd-data-npi/pom.xml | 2 +- apps/bfd-db-migrator/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-data/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-library/pom.xml | 2 +- apps/bfd-model/bfd-model-codebook-plugin/pom.xml | 2 +- .../bfd-model-dsl-codegen-library/pom.xml | 2 +- .../bfd-model-dsl-codegen-plugin/pom.xml | 4 ++-- apps/bfd-model/bfd-model-dsl-codegen/pom.xml | 2 +- apps/bfd-model/bfd-model-rda/pom.xml | 2 +- apps/bfd-model/bfd-model-rif-samples/pom.xml | 2 +- apps/bfd-model/bfd-model-rif/pom.xml | 2 +- apps/bfd-model/pom.xml | 2 +- apps/bfd-ops/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-app/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml | 2 +- apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml | 2 +- apps/bfd-pipeline/pom.xml | 2 +- apps/bfd-server/bfd-server-docs/pom.xml | 2 +- apps/bfd-server/bfd-server-image/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher-sample/pom.xml | 2 +- apps/bfd-server/bfd-server-launcher/pom.xml | 2 +- apps/bfd-server/bfd-server-shared-utils/pom.xml | 2 +- apps/bfd-server/bfd-server-war/pom.xml | 2 +- apps/bfd-server/pom.xml | 2 +- apps/bfd-shared-test-utils/pom.xml | 2 +- apps/bfd-shared-utils/pom.xml | 2 +- apps/pom.xml | 6 +++--- 32 files changed, 35 insertions(+), 35 deletions(-) diff --git a/apps/bfd-data-fda/pom.xml b/apps/bfd-data-fda/pom.xml index 42a83269a1..8080790836 100644 --- a/apps/bfd-data-fda/pom.xml +++ b/apps/bfd-data-fda/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT gov.cms.bfd.data.fda.utility diff --git a/apps/bfd-data-npi/pom.xml b/apps/bfd-data-npi/pom.xml index 82e879c667..9302cd6bd6 100644 --- a/apps/bfd-data-npi/pom.xml +++ b/apps/bfd-data-npi/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT gov.cms.bfd.data.npi diff --git a/apps/bfd-db-migrator/pom.xml b/apps/bfd-db-migrator/pom.xml index ff38960efe..2bf304a31d 100644 --- a/apps/bfd-db-migrator/pom.xml +++ b/apps/bfd-db-migrator/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-db-migrator diff --git a/apps/bfd-model/bfd-model-codebook-data/pom.xml b/apps/bfd-model/bfd-model-codebook-data/pom.xml index 158c73736e..8c17f3162f 100644 --- a/apps/bfd-model/bfd-model-codebook-data/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-data/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-codebook-data diff --git a/apps/bfd-model/bfd-model-codebook-library/pom.xml b/apps/bfd-model/bfd-model-codebook-library/pom.xml index d1a5e79019..12d171adce 100644 --- a/apps/bfd-model/bfd-model-codebook-library/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-codebook-library diff --git a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml index d36986dd8e..7a157da2ac 100644 --- a/apps/bfd-model/bfd-model-codebook-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-codebook-plugin/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-codebook-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml index 1ecc69c0cb..508aa12b82 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-library/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-dsl-codegen-library diff --git a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml index a597805ee9..73decad378 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/bfd-model-dsl-codegen-plugin/pom.xml @@ -5,11 +5,11 @@ gov.cms.bfd bfd-model-dsl-codegen-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-dsl-codegen-plugin - 2.174.0 + 2.175.0-SNAPSHOT maven-plugin diff --git a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml index 301e7bb41b..c2e6ee9164 100644 --- a/apps/bfd-model/bfd-model-dsl-codegen/pom.xml +++ b/apps/bfd-model/bfd-model-dsl-codegen/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-dsl-codegen-parent diff --git a/apps/bfd-model/bfd-model-rda/pom.xml b/apps/bfd-model/bfd-model-rda/pom.xml index d33e653dd7..3b26d58c7f 100644 --- a/apps/bfd-model/bfd-model-rda/pom.xml +++ b/apps/bfd-model/bfd-model-rda/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-rda diff --git a/apps/bfd-model/bfd-model-rif-samples/pom.xml b/apps/bfd-model/bfd-model-rif-samples/pom.xml index 433d736308..f59406df63 100644 --- a/apps/bfd-model/bfd-model-rif-samples/pom.xml +++ b/apps/bfd-model/bfd-model-rif-samples/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-rif-samples diff --git a/apps/bfd-model/bfd-model-rif/pom.xml b/apps/bfd-model/bfd-model-rif/pom.xml index a1601b75f2..059a4257ac 100644 --- a/apps/bfd-model/bfd-model-rif/pom.xml +++ b/apps/bfd-model/bfd-model-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-model-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-rif diff --git a/apps/bfd-model/pom.xml b/apps/bfd-model/pom.xml index d4fe089805..562bb7b530 100644 --- a/apps/bfd-model/pom.xml +++ b/apps/bfd-model/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-model-parent diff --git a/apps/bfd-ops/pom.xml b/apps/bfd-ops/pom.xml index 9e10bc7bf1..8f503268b7 100644 --- a/apps/bfd-ops/pom.xml +++ b/apps/bfd-ops/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-ops diff --git a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml index ba54e35d25..78edba30ec 100644 --- a/apps/bfd-pipeline/bfd-pipeline-app/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-app/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-pipeline-app diff --git a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml index 5aa634fdfe..9a9de24ad9 100644 --- a/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-ccw-rif/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-pipeline-ccw-rif diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml index 4bbea7415b..1d531f7b85 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-bridge/pom.xml @@ -5,7 +5,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-pipeline-rda-bridge diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml index a62ce38d61..b3de49bd0e 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc-apps/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-pipeline-rda-grpc-apps diff --git a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml index 0c7fc94fcd..34673236cd 100644 --- a/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-rda-grpc/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-pipeline-rda-grpc diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml index fd9c203a30..d6557495bc 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-pipeline-shared-test-utils diff --git a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml index ae3ed33850..bfcd64ee4b 100644 --- a/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml +++ b/apps/bfd-pipeline/bfd-pipeline-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-pipeline-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-pipeline-shared-utils diff --git a/apps/bfd-pipeline/pom.xml b/apps/bfd-pipeline/pom.xml index af8377f748..7e40c3f701 100644 --- a/apps/bfd-pipeline/pom.xml +++ b/apps/bfd-pipeline/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-pipeline-parent diff --git a/apps/bfd-server/bfd-server-docs/pom.xml b/apps/bfd-server/bfd-server-docs/pom.xml index 4ce5162ff3..d85bdf203f 100644 --- a/apps/bfd-server/bfd-server-docs/pom.xml +++ b/apps/bfd-server/bfd-server-docs/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-server-docs diff --git a/apps/bfd-server/bfd-server-image/pom.xml b/apps/bfd-server/bfd-server-image/pom.xml index 4158642df5..13e09ecd6e 100644 --- a/apps/bfd-server/bfd-server-image/pom.xml +++ b/apps/bfd-server/bfd-server-image/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-server-image diff --git a/apps/bfd-server/bfd-server-launcher-sample/pom.xml b/apps/bfd-server/bfd-server-launcher-sample/pom.xml index 7bca26b8e4..d41aede9ce 100644 --- a/apps/bfd-server/bfd-server-launcher-sample/pom.xml +++ b/apps/bfd-server/bfd-server-launcher-sample/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-server-launcher-sample diff --git a/apps/bfd-server/bfd-server-launcher/pom.xml b/apps/bfd-server/bfd-server-launcher/pom.xml index 728a9947bc..831c8b034a 100644 --- a/apps/bfd-server/bfd-server-launcher/pom.xml +++ b/apps/bfd-server/bfd-server-launcher/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-server-launcher diff --git a/apps/bfd-server/bfd-server-shared-utils/pom.xml b/apps/bfd-server/bfd-server-shared-utils/pom.xml index 31273fd432..236fbf6eb3 100644 --- a/apps/bfd-server/bfd-server-shared-utils/pom.xml +++ b/apps/bfd-server/bfd-server-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-server-shared-utils diff --git a/apps/bfd-server/bfd-server-war/pom.xml b/apps/bfd-server/bfd-server-war/pom.xml index 292fdc2d96..7c2573700c 100644 --- a/apps/bfd-server/bfd-server-war/pom.xml +++ b/apps/bfd-server/bfd-server-war/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-server-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-server-war diff --git a/apps/bfd-server/pom.xml b/apps/bfd-server/pom.xml index 8945d45203..52f362d2b8 100644 --- a/apps/bfd-server/pom.xml +++ b/apps/bfd-server/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-server-parent diff --git a/apps/bfd-shared-test-utils/pom.xml b/apps/bfd-shared-test-utils/pom.xml index f9513cccbe..c6d53ff6f2 100644 --- a/apps/bfd-shared-test-utils/pom.xml +++ b/apps/bfd-shared-test-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-shared-test-utils diff --git a/apps/bfd-shared-utils/pom.xml b/apps/bfd-shared-utils/pom.xml index b20e5bf288..f48b4c3aa4 100644 --- a/apps/bfd-shared-utils/pom.xml +++ b/apps/bfd-shared-utils/pom.xml @@ -4,7 +4,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT bfd-shared-utils diff --git a/apps/pom.xml b/apps/pom.xml index 384bb5d3b2..05b750dc59 100644 --- a/apps/pom.xml +++ b/apps/pom.xml @@ -3,7 +3,7 @@ gov.cms.bfd bfd-parent - 2.174.0 + 2.175.0-SNAPSHOT pom bfd-parent @@ -40,7 +40,7 @@ scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git scm:git:https://github.com/CMSgov/beneficiary-fhir-data.git https://github.com/CMSgov/beneficiary-fhir-data - 2.174.0 + HEAD @@ -65,7 +65,7 @@ 21 - 2025-01-16T21:21:28Z + 2025-01-16T21:29:31Z true jacoco