Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

CNDIT 1777: RTR Observation Persist Extension To Persist New Columns #46

Merged
merged 5 commits into from
Oct 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -174,3 +174,10 @@ databaseChangeLog:
- sqlFile:
path: 021_sp_observation_event-001.sql
splitStatements: false
- changeSet:
id: 25
author: liquibase
changes:
- sqlFile:
path: 021_sp_observation_event-002.sql
splitStatements: false
Original file line number Diff line number Diff line change
Expand Up @@ -285,4 +285,53 @@ databaseChangeLog:
changes:
- sqlFile:
path: 013-sp_hepatitis_datamart_postprocessing-002.sql
splitStatements: false
splitStatements: false
- changeSet:
id: 41
author: liquibase
changes:
- sqlFile:
path: 017-create_nrt_observation_coded-001.sql
splitStatements: false
- changeSet:
id: 42
author: liquibase
changes:
- sqlFile:
path: 017-create_nrt_observation_date-001.sql
splitStatements: false
- changeSet:
id: 43
author: liquibase
changes:
- sqlFile:
path: 017-create_nrt_observation_edx-001.sql
splitStatements: false
- changeSet:
id: 44
author: liquibase
changes:
- sqlFile:
path: 017-create_nrt_observation_material-001.sql
splitStatements: false
- changeSet:
id: 45
author: liquibase
changes:
- sqlFile:
path: 017-create_nrt_observation_numeric-001.sql
splitStatements: false
- changeSet:
id: 46
author: liquibase
changes:
- sqlFile:
path: 017-create_nrt_observation_reason-001.sql
splitStatements: false
- changeSet:
id: 47
author: liquibase
changes:
- sqlFile:
path: 017-create_nrt_observation_txt-001.sql
splitStatements: false

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_observation_coded' and xtype = 'U')
CREATE TABLE rdb_modern.dbo.nrt_observation_coded (
observation_uid bigint NOT NULL,
ovc_code varchar(20) NOT NULL,
ovc_code_system_cd varchar(300) NULL,
ovc_code_system_desc_txt varchar(100) NULL,
ovc_display_name varchar(300) NULL,
ovc_alt_cd varchar(50) NULL,
ovc_alt_cd_desc_txt varchar(100) NULL,
ovc_alt_cd_system_cd varchar(300) NULL,
ovc_alt_cd_system_desc_txt varchar(100) NULL,
refresh_datetime datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL,
max_datetime datetime2(7) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME (refresh_datetime, max_datetime)
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_observation_date' and xtype = 'U')
CREATE TABLE rdb_modern.dbo.nrt_observation_date (
observation_uid bigint NOT NULL,
ovd_from_date datetime NULL,
ovd_to_date datetime NULL,
refresh_datetime datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL,
max_datetime datetime2(7) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME (refresh_datetime, max_datetime)
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_observation_edx' and xtype = 'U')
CREATE TABLE rdb_modern.dbo.nrt_observation_edx (
edx_document_uid bigint NOT NULL,
edx_act_uid bigint NOT NULL,
edx_add_time datetime NOT NULL,
refresh_datetime datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL,
max_datetime datetime2(7) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME (refresh_datetime, max_datetime)
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_observation_material' and xtype = 'U')
CREATE TABLE rdb_modern.dbo.nrt_observation_material (
act_uid bigint NOT NULL,
type_cd varchar(50) NULL,
material_id bigint NOT NULL,
subject_class_cd varchar(10) NULL,
record_status varchar(20) NULL,
type_desc_txt varchar(100) NULL,
last_chg_time datetime NULL,
material_cd varchar(50) NULL,
material_nm varchar(50) NULL,
material_details varchar(1000) NULL,
material_collection_vol varchar(20) NULL,
material_collection_vol_unit varchar(20) NULL,
material_desc varchar(100) NULL,
risk_cd varchar(20) NULL,
risk_desc_txt varchar(100) NULL,
refresh_datetime datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL,
max_datetime datetime2(7) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME (refresh_datetime, max_datetime)
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_observation_numeric' and xtype = 'U')
CREATE TABLE rdb_modern.dbo.nrt_observation_numeric (
observation_uid bigint NOT NULL,
ovn_high_range varchar(20) NULL,
ovn_low_range varchar(20) NULL,
ovn_comparator_cd_1 varchar(10) NULL,
ovn_numeric_value_1 numeric(15,5) NULL,
ovn_numeric_value_2 numeric(15,5) NULL,
ovn_numeric_unit_cd varchar(20) NULL,
ovn_separator_cd varchar(10) NULL,
refresh_datetime datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL,
max_datetime datetime2(7) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME (refresh_datetime, max_datetime)
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_observation_reason' and xtype = 'U')
CREATE TABLE rdb_modern.dbo.nrt_observation_reason(
observation_uid bigint NOT NULL,
reason_cd varchar(20) NULL,
reason_desc_txt varchar(100) NULL,
refresh_datetime datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL,
max_datetime datetime2(7) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME (refresh_datetime, max_datetime)
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_observation_txt' and xtype = 'U')
CREATE TABLE rdb_modern.dbo.nrt_observation_txt (
observation_uid bigint NOT NULL,
ovt_seq smallint NOT NULL,
ovt_txt_type_cd varchar(20) NULL,
ovt_value_txt varchar(2000) NULL,
refresh_datetime datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL,
max_datetime datetime2(7) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME (refresh_datetime, max_datetime)
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ObservationCoded {
private Long observationUid;
private String ovcCode;
private String ovcCodeSystemCd;
private String ovcCodeSystemDescTxt;
private String ovcDisplayName;
private String ovcAltCd;
private String ovcAltCdDescTxt;
private String ovcAltCdSystemCd;
private String ovcAltCdSystemDescTxt;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ObservationDate {
private Long observationUid;
private String ovdFromDate;
private String ovdToDate;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ObservationEdx {
private Long edxDocumentUid;
private Long edxActUid;
private String edxAddTime;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;

@Data
@NoArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ObservationEdxKey {
@NonNull
private Long edxDocumentUid;
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package gov.cdc.etldatapipeline.observation.repository.model.dto;
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ObservationMaterial {
private Long actUid;
private String typeCd;
private Long materialId;
private String subjectClassCd;
private String recordStatus;
private String typeDescTxt;
private String lastChgTime;
private String materialCd;
private String materialNm;
private String materialDetails;
private String materialCollectionVol;
private String materialCollectionVolUnit;
private String materialDesc;
private String riskCd;
private String riskDescTxt;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;

@Data
@NoArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ObservationMaterialKey {
@NonNull
@JsonProperty("material_id")
private Long materialId;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

import java.math.BigDecimal;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ObservationNumeric {
private Long observationUid;
private String ovnHighRange;
private String ovnLowRange;
@JsonProperty("ovn_comparator_cd_1")
private String ovnComparatorCd1;
@JsonProperty("ovn_numeric_value_1")
private BigDecimal ovnNumericValue1;
@JsonProperty("ovn_numeric_value_2")
private BigDecimal ovnNumericValue2;
private String ovnNumericUnitCd;
private String ovnSeparatorCd;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ObservationReason {
private Long observationUid;
private String reasonCd;
private String reasonDescTxt;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package gov.cdc.etldatapipeline.observation.repository.model.reporting;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ObservationTxt {
private Long observationUid;
private Integer ovtSeq;
private String ovtTxtTypeCd;
private String ovtValueTxt;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import gov.cdc.etldatapipeline.commonutil.json.CustomJsonGeneratorImpl;
import gov.cdc.etldatapipeline.observation.repository.IObservationRepository;
import gov.cdc.etldatapipeline.observation.repository.model.dto.Observation;
import gov.cdc.etldatapipeline.observation.repository.model.dto.ObservationKey;
import gov.cdc.etldatapipeline.observation.repository.model.reporting.ObservationKey;
import gov.cdc.etldatapipeline.observation.repository.model.dto.ObservationTransformed;
import gov.cdc.etldatapipeline.observation.repository.model.reporting.ObservationReporting;
import gov.cdc.etldatapipeline.observation.util.ProcessObservationDataUtil;
Expand Down
Loading