diff --git a/apps/bfd-server-ng/scripts/.python-version b/apps/bfd-server-ng/scripts/.python-version new file mode 100644 index 0000000000..6324d401a0 --- /dev/null +++ b/apps/bfd-server-ng/scripts/.python-version @@ -0,0 +1 @@ +3.14 diff --git a/apps/bfd-server-ng/scripts/README.md b/apps/bfd-server-ng/scripts/README.md new file mode 100644 index 0000000000..172cd93ca4 --- /dev/null +++ b/apps/bfd-server-ng/scripts/README.md @@ -0,0 +1,20 @@ +# bfd-server-ng Scripts + +This folder contains scripts used in the maintenance of bfd-server-ng. At the moment, there is only one, but as codegen +becomes more sophisticated, it is possible for them to be moved over. + +## jpa_graph.py + +Because we don't have IntelliJ pro, we have to write our own JPA mapping scripts. This script is a self contained uv script +that runs via: + +``` +uv run jpa_graph.py +``` + +At the moment, this script is still being updated, but the goal of this script is to read in the mapping YAML files for +source columns and profiles, then create maps of the Java JPA objects (@Entity / @MappedSuperClass / @Embeddable) and +display the hierarchy in those files, and if they are compliant with the profiles defined in the YAML files. + +This is done by matching the name of a profile in the @Entity class (CMS / Basis / Regular) and checking each @Column within +itself, its extension hierarchy, and all embedded objects recursively, and spitting out a rough analysis of their status. diff --git a/apps/bfd-server-ng/scripts/jpa_graph.py b/apps/bfd-server-ng/scripts/jpa_graph.py new file mode 100644 index 0000000000..87afc9601f --- /dev/null +++ b/apps/bfd-server-ng/scripts/jpa_graph.py @@ -0,0 +1,452 @@ +# /// script +# requires-python = ">=3.14" +# dependencies = [ +# "pyyaml>=6.0.3", +# ] +# /// + +import difflib +import re +import sys +from pathlib import Path + +import yaml + +SCRIPT_DIR = Path(__file__).resolve().parent.parent + +JAVA_SRC_DIR = SCRIPT_DIR / "src/main/java/gov/cms/bfd/server/ng" +YAML_DICTS_DIR = SCRIPT_DIR / "../bfd-model-idr/dictionary-support-files" + +CLASS_RE = re.compile( + r"(?s)(?P@Entity|@MappedSuperclass|@Embeddable).*?class\s+(?P\w+)(?:\s+(?:extends|implements)\s+(?P\w+))?" +) +TABLE_RE = re.compile(r'@Table\(.*?name\s*=\s*"([^"]+)"', re.DOTALL) + +# The two negative lookaheads keep this from binding a column to the wrong +# field: one bails if an @Embedded sits between the annotation and the +# field, the other refuses to skip past a semicolon, brace, or another +# Column/override annotation (otherwise it can tunnel clean through a +# class boundary and grab an unrelated field further down the file). +COLUMN_RE = re.compile( + r'(?s)@Column\(.*?name\s*=\s*"([^"]+)".*?\)' + r"(?!(?:(?!;).)*?@Embedded)" + r"(?:(?!;|\{|@Column|@AttributeOverride).)*?" + r"(?:private|protected|public)?\s+([\w<>(),.? ]+)\s+(\w+);" +) +EMBEDDED_RE = re.compile( + r"(?s)@Embedded" + r"(?:(?!;|\{|@Column|@AttributeOverride|@Embedded).)*?" + r"(?:private|protected|public)?\s+([\w<>(),.? ]+)\s+(\w+);" +) +# Java lets name= and column= appear in either order, so both are matched. +ATTRIBUTE_OVERRIDE_RE = re.compile( + r'@AttributeOverride\(\s*(?:' + r'name\s*=\s*"(?P[^"]+)"\s*,\s*column\s*=\s*@Column\(\s*name\s*=\s*"(?P[^"]+)"\s*\)' + r"|" + r'column\s*=\s*@Column\(\s*name\s*=\s*"(?P[^"]+)"\s*\)\s*,\s*name\s*=\s*"(?P[^"]+)"' + r")\s*\)" +) + +JAVA_ENTITY_RE = re.compile( + r"Claim\w*?(?PCms|Basis|Regular)\w*", + re.IGNORECASE, +) + +DEFAULT_PROFILES = ["Basis", "Regular", "CMS (Default)"] +ALL_PROFILES_ORDERED = ["BASIS", "REGULAR", "CMS"] +ALL_PROFILES_SET = set(ALL_PROFILES_ORDERED) + +# Columns with no YAML entry at all (silently treated as valid for every +# profile). Reported separately at the end so a missing dictionary entry +# isn't confused with a genuinely unrestricted column. +UNMATCHED_COLUMNS: set[str] = set() + +# (class, db_col) -> the distinct java_vars it's bound to, when a class's +# own columns bind the same db_col to more than one field. Sometimes +# intentional (one column exposed under two names); also the exact +# signature of a mis-parsed @AttributeOverride, so both get surfaced for +# review rather than trusted either way. +DUPLICATE_COLUMN_BINDINGS: dict[tuple[str, str], set[str]] = {} + + +def parse_yaml_map(yaml_dir: Path) -> dict: + mappings = {} + if not yaml_dir.exists(): + return mappings + for file_path in yaml_dir.rglob("*.y*ml"): + with open(file_path, "r", encoding="utf-8") as f: + try: + for entry in yaml.safe_load(f) or []: + if source_col := entry.get("sourceColumn"): + profiles = entry.get("profiles") or DEFAULT_PROFILES + mappings[source_col.upper()] = [p.split()[0].upper() for p in profiles] + except yaml.YAMLError as e: + print(f"[WARN] Failed to parse {file_path}: {e}") + return mappings + + +def _hide_attribute_overrides(content: str, override_matches: list) -> str: + """Blank out each @AttributeOverride(...) span so COLUMN_RE can't see + (or backtrack into) the @Column nested inside it.""" + for match in override_matches: + start, end = match.span() + content = content[:start] + " " * (end - start) + content[end:] + return content + + +def _extract_columns(content: str) -> tuple[list, str]: + override_matches = list(ATTRIBUTE_OVERRIDE_RE.finditer(content)) + clean_content = _hide_attribute_overrides(content, override_matches) + + plain_columns = [ + {"db_col": match.group(1), "java_var": match.group(3)} + for match in COLUMN_RE.finditer(clean_content) + ] + override_columns = [ + { + "db_col": match.group("col1") or match.group("col2"), + "java_var": match.group("name1") or match.group("name2"), + } + for match in override_matches + ] + return plain_columns + override_columns, clean_content + + +def _extract_embeddeds(content: str) -> list: + embeds = [] + for type_blob, java_var in EMBEDDED_RE.findall(content): + clean_type = re.sub(r"^(?:private|protected|public)\s+", "", type_blob).strip() + embeds.append({"type": clean_type, "java_var": java_var}) + return embeds + + +def _record_duplicate_bindings(class_name: str, columns: list) -> None: + java_vars_by_column: dict[str, set[str]] = {} + for col in columns: + java_vars_by_column.setdefault(col["db_col"].upper(), set()).add(col["java_var"]) + for db_col, java_vars in java_vars_by_column.items(): + if len(java_vars) > 1: + DUPLICATE_COLUMN_BINDINGS[(class_name, db_col)] = java_vars + + +def parse_java_graph(src_dir: Path) -> dict: + graph = {} + if not src_dir.exists(): + return graph + + for file_path in src_dir.rglob("*.java"): + content = file_path.read_text(encoding="utf-8") + class_match = CLASS_RE.search(content) + if not class_match: + continue + + name = class_match.group("name") + table_match = TABLE_RE.search(content) + columns, clean_content = _extract_columns(content) + _record_duplicate_bindings(name, columns) + + graph[name] = { + "type": class_match.group("type").replace("@", ""), + "parent": class_match.group("parent"), + "table": table_match.group(1) if table_match else None, + "columns": columns, + "embeddeds": _extract_embeddeds(clean_content), + } + return graph + + +def get_class_profile(class_name: str) -> str | None: + """Profile implied by naming convention, e.g. ClaimProfessionalCmsBase -> CMS. + Returns None if the name doesn't encode a profile at all.""" + if match := JAVA_ENTITY_RE.search(class_name): + return match.group("profile").upper() + return None + + +def entity_profile(class_name: str) -> tuple[str, bool]: + """(profile, was_inferred). Most entities outside the claim family + aren't profile-scoped at all, so when the name doesn't tell us, + default to CMS -- it's the superset profile, and flagging the + default keeps this honest rather than silently guessing.""" + detected = get_class_profile(class_name) + if detected: + return detected, False + return "CMS", True + + +def entity_exposed_columns(graph: dict, class_name: str, visited: set = None) -> set[str]: + """Every db_col reachable from this entity through inheritance and + nested @Embedded types, flattened into one set. Used only for the + profile-completeness check, which doesn't care where a column lives, + just whether the entity exposes it somewhere.""" + visited = visited if visited is not None else set() + if class_name in visited or class_name not in graph: + return set() + visited.add(class_name) + + node = graph[class_name] + cols = {col["db_col"].upper() for col in node["columns"]} + for embed in node["embeddeds"]: + cols |= entity_exposed_columns(graph, embed["type"], visited.copy()) + if node["parent"]: + cols |= entity_exposed_columns(graph, node["parent"], visited.copy()) + return cols + + +def _debug_field(col: dict, declaring_class: str, profile: str, allowed_profiles: list, in_dict: bool) -> None: + print( + f"[DEBUG] {col['db_col']} declared on {declaring_class!r} entity_profile={profile!r} " + f"allowed_profiles={allowed_profiles!r} in_profile_map={in_dict!r}", + file=sys.stderr, + ) + + +def print_entity_tree( + graph: dict, + profile_map: dict, + class_name: str, + profile: str, + indent: str = "", + visited: set = None, + debug_col: str | None = None, +) -> None: + """Print this class's own columns and embeds, then recurse into its + parent as its own 'extends' branch one level deeper -- so the + inheritance chain shows up in the tree the same way embeds do, + instead of being pre-merged and hidden. `profile` stays fixed to the + owning entity throughout, since that's what actually gets exposed.""" + visited = visited if visited is not None else set() + if class_name in visited or class_name not in graph: + return + visited.add(class_name) + + node = graph[class_name] + + for col in node["columns"]: + db_col = col["db_col"].upper() + in_dict = db_col in profile_map + if not in_dict: + UNMATCHED_COLUMNS.add(db_col) + allowed_profiles = profile_map.get(db_col, ALL_PROFILES_ORDERED) + + if debug_col and db_col == debug_col: + _debug_field(col, class_name, profile, allowed_profiles, in_dict) + + flag = "" + if profile not in allowed_profiles: + flag = f" ❌ MISMATCH: entity is {profile}, column only valid for {allowed_profiles}" + + print( + f"{indent}├── [Column] {col['db_col']} ({col['java_var']}) " + f"[profiles: {', '.join(allowed_profiles)}]{flag}" + ) + + for embed in node["embeddeds"]: + print(f"{indent}└── [Embedded] {embed['java_var']} ──► Type: {embed['type']}") + print_entity_tree( + graph, profile_map, embed["type"], profile, indent + " │", visited.copy(), debug_col + ) + + parent = node["parent"] + if parent and parent in graph: + print(f"{indent}└── extends {parent}") + print_entity_tree(graph, profile_map, parent, profile, indent + " │", visited.copy(), debug_col) + + +def print_entity(graph: dict, profile_map: dict, entity_name: str, debug_col: str | None = None) -> tuple[str, list]: + node = graph[entity_name] + profile, inferred = entity_profile(entity_name) + + table_info = f" ──► Table: {node['table']}" if node["table"] else "" + profile_label = f"{profile} (default, no profile in name)" if inferred else profile + print(f"[Entity] {entity_name}{table_info} [profile: {profile_label}]") + + print_entity_tree(graph, profile_map, entity_name, profile, indent=" ", debug_col=debug_col) + print() + + return profile, entity_exposed_columns(graph, entity_name) + + +def _shared_class_flag(class_profile: str | None, allowed_profiles: list) -> str: + if class_profile and class_profile not in allowed_profiles: + return f" ⚠️ WARNING: not valid for this class's own profile '{class_profile}'!" + if class_profile and set(allowed_profiles) >= ALL_PROFILES_SET: + return " ▲ PULL UP candidate: valid for all profiles, could move to a shared base" + if not class_profile and set(allowed_profiles) < ALL_PROFILES_SET: + return f" ▼ PUSH DOWN candidate: only valid for {allowed_profiles}, move to profile-specific subclass(es)" + return "" + + +def _print_shared_fields( + graph: dict, + profile_map: dict, + class_name: str, + indent: str, + expand_embeds: bool, + visited: set = None, +) -> None: + visited = visited if visited is not None else set() + if class_name in visited or class_name not in graph: + return + visited.add(class_name) + + node = graph[class_name] + class_profile = get_class_profile(class_name) + + for col in node["columns"]: + db_col = col["db_col"].upper() + if db_col not in profile_map: + UNMATCHED_COLUMNS.add(db_col) + allowed_profiles = profile_map.get(db_col, ALL_PROFILES_ORDERED) + flag = _shared_class_flag(class_profile, allowed_profiles) + print( + f"{indent}├── [Column] {col['db_col']} ({col['java_var']}) " + f"[profiles: {', '.join(allowed_profiles)}]{flag}" + ) + + for embed in node["embeddeds"]: + print(f"{indent}└── [Embedded] {embed['java_var']} ──► Type: {embed['type']}") + if expand_embeds: + _print_shared_fields( + graph, profile_map, embed["type"], indent + " │", expand_embeds, visited.copy() + ) + + +def print_shared_class(graph: dict, profile_map: dict, class_name: str, expand_embeds: bool = False) -> None: + """Print a MappedSuperclass/Embeddable's own declared columns (not + resolved through inheritance -- the parent gets its own section) with + a push-down/pull-up flag: a shared class with a profile-restricted + column should push it down; a profile-named class with an all-profiles + column could pull it up. Embedded types print as a pointer by default + (they get their own section further down); pass expand_embeds to + recurse into them inline instead.""" + node = graph[class_name] + class_profile = get_class_profile(class_name) + profile_label = class_profile or "shared, no profile in name" + inheritance = f" extends {node['parent']}" if node["parent"] else "" + + print(f"[{node['type']}] {class_name}{inheritance} [profile: {profile_label}]") + _print_shared_fields(graph, profile_map, class_name, indent=" ", expand_embeds=expand_embeds) + print() + + +def print_shared_classes(graph: dict, profile_map: dict, expand_embeds: bool = False, group_embeds: bool = False) -> None: + shared = sorted( + (n for n, d in graph.items() if d["type"] in ("MappedSuperclass", "Embeddable")), + key=lambda n: (graph[n]["type"], n), + ) + + if not group_embeds: + for name in shared: + print_shared_class(graph, profile_map, name, expand_embeds) + return + + # Print each embed type right after the class that references it, + # instead of strict alphabetical order -- makes it easier to trace an + # embed's contents without scrolling to find its section, without + # duplicating anything the way expand_embeds does. + printed: set[str] = set() + + def visit(name: str) -> None: + if name in printed or name not in graph or graph[name]["type"] not in ("MappedSuperclass", "Embeddable"): + return + printed.add(name) + print_shared_class(graph, profile_map, name, expand_embeds) + for embed in graph[name]["embeddeds"]: + visit(embed["type"]) + + for name in shared: + visit(name) + + +def check_profile_completeness(profile_map: dict, entity_index: dict) -> dict: + """For every db_col the dictionary says a profile can see, confirm at + least one concrete entity for that profile actually exposes it. Flags + dictionary entries with no matching entity -- either the entity model + is missing the field, or the dictionary is over-scoped.""" + exposed_by_profile: dict[str, set[str]] = {p: set() for p in ALL_PROFILES_ORDERED} + for profile, cols in entity_index.values(): + exposed_by_profile.setdefault(profile, set()).update(cols) + + gaps: dict[str, list[str]] = {} + for db_col, profiles in profile_map.items(): + for profile in profiles: + if db_col not in exposed_by_profile.get(profile, set()): + gaps.setdefault(profile, []).append(db_col) + return gaps + + +def _print_unmatched_columns(profile_map: dict) -> None: + if not UNMATCHED_COLUMNS: + return + known_columns = list(profile_map.keys()) + print( + f"[WARN] {len(UNMATCHED_COLUMNS)} column(s) had no YAML dictionary entry " + "and defaulted to 'all profiles valid' -- check for typos or missing " + "dictionary files. A suggested match means it's likely a naming " + "mismatch rather than a real gap:" + ) + for col in sorted(UNMATCHED_COLUMNS): + close = difflib.get_close_matches(col, known_columns, n=3, cutoff=0.6) + suggestion = f" (possible match: {', '.join(close)})" if close else "" + print(f" - {col}{suggestion}") + + +def _print_duplicate_bindings() -> None: + if not DUPLICATE_COLUMN_BINDINGS: + return + print( + f"\n[WARN] {len(DUPLICATE_COLUMN_BINDINGS)} class/column pair(s) bind the " + "same db column to multiple field names. Could be intentional aliasing, " + "or a parsing mis-attribution -- review each:" + ) + for (cls, db_col), java_vars in sorted(DUPLICATE_COLUMN_BINDINGS.items()): + print(f" - {cls}.{db_col}: {', '.join(sorted(java_vars))}") + + +def _print_completeness_gaps(gaps: dict) -> None: + if not gaps: + return + print( + "\n[WARN] The dictionary says these profiles can see these columns, but " + "no concrete entity for that profile actually exposes them:" + ) + for profile in sorted(gaps): + print(f" {profile}:") + for db_col in sorted(gaps[profile]): + print(f" - {db_col}") + + +def main(): + args = sys.argv[1:] + debug_col = None + if "--debug-column" in args: + idx = args.index("--debug-column") + if idx + 1 < len(args): + debug_col = args[idx + 1].upper() + expand_embeds = "--expand-embeds" in args + group_embeds = "--group-embeds" in args + + profile_map = parse_yaml_map(YAML_DICTS_DIR) + graph = parse_java_graph(JAVA_SRC_DIR) + + entity_names = sorted(n for n, d in graph.items() if d["type"] == "Entity") + + entity_index = {} + for name in entity_names: + profile, fields = print_entity(graph, profile_map, name, debug_col) + entity_index[name] = (profile, fields) + + print("-" * 80) + print("MappedSuperclass / Embeddable review (push-down / pull-up candidates)") + print("-" * 80) + print() + print_shared_classes(graph, profile_map, expand_embeds=expand_embeds, group_embeds=group_embeds) + + _print_unmatched_columns(profile_map) + _print_duplicate_bindings() + _print_completeness_gaps(check_profile_completeness(profile_map, entity_index)) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/apps/bfd-server-ng/scripts/pyproject.toml b/apps/bfd-server-ng/scripts/pyproject.toml new file mode 100644 index 0000000000..2a84c29eb3 --- /dev/null +++ b/apps/bfd-server-ng/scripts/pyproject.toml @@ -0,0 +1,7 @@ +[project] +name = "scripts" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.14" +dependencies = [] diff --git a/apps/bfd-server-ng/scripts/uv.lock b/apps/bfd-server-ng/scripts/uv.lock new file mode 100644 index 0000000000..c7fd99e4f1 --- /dev/null +++ b/apps/bfd-server-ng/scripts/uv.lock @@ -0,0 +1,8 @@ +version = 1 +revision = 3 +requires-python = ">=3.14" + +[[package]] +name = "scripts" +version = "0.1.0" +source = { virtual = "." } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/DbFilterBuilder.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/DbFilterBuilder.java index 75d0171fda..87e4cbe1e9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/DbFilterBuilder.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/DbFilterBuilder.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; /** Used by classes that create database filters. */ public interface DbFilterBuilder { diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/BeneficiaryRepository.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/BeneficiaryRepository.java index 1322ee5283..b507a5dc25 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/BeneficiaryRepository.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/BeneficiaryRepository.java @@ -5,7 +5,7 @@ import gov.cms.bfd.server.ng.DbFilterParam; import gov.cms.bfd.server.ng.beneficiary.filter.PatientMatchFilter; import gov.cms.bfd.server.ng.beneficiary.model.*; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; import gov.cms.bfd.server.ng.input.DateTimeRange; import gov.cms.bfd.server.ng.log.QueryTelemetryUtil; import gov.cms.bfd.server.ng.util.LogUtil; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/filter/PatientMatchFilter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/filter/PatientMatchFilter.java index 58f7a470a5..1ac1fba7da 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/filter/PatientMatchFilter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/filter/PatientMatchFilter.java @@ -4,7 +4,7 @@ import gov.cms.bfd.server.ng.DbFilterBuilder; import gov.cms.bfd.server.ng.DbFilterParam; import gov.cms.bfd.server.ng.beneficiary.model.PatientMatchParameter; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; import java.util.ArrayList; import java.util.List; import org.jetbrains.annotations.NotNull; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/model/OrganizationFactory.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/model/OrganizationFactory.java index 480508400d..926af9ecda 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/model/OrganizationFactory.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/beneficiary/model/OrganizationFactory.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.beneficiary.model; -import gov.cms.bfd.server.ng.claim.model.Contract; +import gov.cms.bfd.server.ng.model.Contract; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Optional; import org.hl7.fhir.r4.model.CodeableConcept; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimAsyncService.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimAsyncService.java index cbc73a42a5..93a1b0c383 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimAsyncService.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimAsyncService.java @@ -6,7 +6,9 @@ import gov.cms.bfd.server.ng.DbFilter; import gov.cms.bfd.server.ng.DbFilterBuilder; import gov.cms.bfd.server.ng.DbFilterParam; -import gov.cms.bfd.server.ng.claim.model.*; +import gov.cms.bfd.server.ng.claim.model.PriorAuthorization; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.entities.ClaimBase; import gov.cms.bfd.server.ng.input.ClaimSearchCriteria; import gov.cms.bfd.server.ng.log.QueryTelemetryUtil; import gov.cms.bfd.server.ng.util.MetricRecorder; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimRepository.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimRepository.java index 6ed36bd39b..8a227874eb 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimRepository.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimRepository.java @@ -2,7 +2,14 @@ import gov.cms.bfd.server.ng.DbFilterBuilder; import gov.cms.bfd.server.ng.claim.filter.*; -import gov.cms.bfd.server.ng.claim.model.*; +import gov.cms.bfd.server.ng.claim.model.PriorAuthorization; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.entities.ClaimBase; +import gov.cms.bfd.server.ng.claim.model.institutional.entities.ClaimInstitutionalCmsNch; +import gov.cms.bfd.server.ng.claim.model.institutional.entities.ClaimInstitutionalCmsSharedSystems; +import gov.cms.bfd.server.ng.claim.model.professional.entities.ClaimProfessionalCmsNch; +import gov.cms.bfd.server.ng.claim.model.professional.entities.ClaimProfessionalCmsSharedSystems; +import gov.cms.bfd.server.ng.claim.model.rx.entities.ClaimCmsRx; import gov.cms.bfd.server.ng.input.ClaimIdSearchCriteria; import gov.cms.bfd.server.ng.input.ClaimSearchCriteria; import gov.cms.bfd.server.ng.util.MetricRecorder; @@ -25,7 +32,7 @@ public class ClaimRepository { private static final String CLAIM_PROFESSIONAL_SHARED_SYSTEMS = """ SELECT c - FROM ClaimProfessionalSharedSystems c + FROM ClaimProfessionalCmsSharedSystems c JOIN FETCH c.beneficiary b LEFT JOIN FETCH c.claimItems cl """; @@ -33,7 +40,7 @@ public class ClaimRepository { private static final String CLAIM_PROFESSIONAL_NCH = """ SELECT c - FROM ClaimProfessionalNch c + FROM ClaimProfessionalCmsNch c JOIN FETCH c.beneficiary b JOIN FETCH c.claimItems cl """; @@ -41,7 +48,7 @@ public class ClaimRepository { private static final String CLAIM_INSTITUTIONAL_SHARED_SYSTEMS = """ SELECT c - FROM ClaimInstitutionalSharedSystems c + FROM ClaimInstitutionalCmsSharedSystems c JOIN FETCH c.beneficiary b LEFT JOIN FETCH c.claimItems cl """; @@ -49,7 +56,7 @@ public class ClaimRepository { private static final String CLAIM_INSTITUTIONAL_NCH = """ SELECT c - FROM ClaimInstitutionalNch c + FROM ClaimInstitutionalCmsNch c JOIN FETCH c.beneficiary b JOIN FETCH c.claimItems cl """; @@ -57,7 +64,7 @@ public class ClaimRepository { private static final String CLAIM_RX = """ SELECT c - FROM ClaimRx c + FROM ClaimCmsRx c JOIN FETCH c.beneficiary b """; @@ -65,17 +72,17 @@ public class ClaimRepository { List.of( new ClaimTypeDefinition( CLAIM_PROFESSIONAL_SHARED_SYSTEMS, - ClaimProfessionalSharedSystems.class, + ClaimProfessionalCmsSharedSystems.class, SystemType.SS), new ClaimTypeDefinition( - CLAIM_PROFESSIONAL_NCH, ClaimProfessionalNch.class, SystemType.NCH), + CLAIM_PROFESSIONAL_NCH, ClaimProfessionalCmsNch.class, SystemType.NCH), new ClaimTypeDefinition( CLAIM_INSTITUTIONAL_SHARED_SYSTEMS, - ClaimInstitutionalSharedSystems.class, + ClaimInstitutionalCmsSharedSystems.class, SystemType.SS), new ClaimTypeDefinition( - CLAIM_INSTITUTIONAL_NCH, ClaimInstitutionalNch.class, SystemType.NCH), - new ClaimTypeDefinition(CLAIM_RX, ClaimRx.class, SystemType.DDPS)); + CLAIM_INSTITUTIONAL_NCH, ClaimInstitutionalCmsNch.class, SystemType.NCH), + new ClaimTypeDefinition(CLAIM_RX, ClaimCmsRx.class, SystemType.DDPS)); /** * Search for a claim by its ID. @@ -103,40 +110,40 @@ public List findByIds( var professionalSharedSystemsClaims = asyncService.findByIdsInClaimType( CLAIM_PROFESSIONAL_SHARED_SYSTEMS, - ClaimProfessionalSharedSystems.class, - ClaimProfessionalSharedSystems.getSystemType(), + ClaimProfessionalCmsSharedSystems.class, + ClaimProfessionalCmsSharedSystems.getSystemType(), criteria.claimUniqueIds(), paramBuilders); var professionalNchClaims = asyncService.findByIdsInClaimType( CLAIM_PROFESSIONAL_NCH, - ClaimProfessionalNch.class, - ClaimProfessionalNch.getSystemType(), + ClaimProfessionalCmsNch.class, + ClaimProfessionalCmsNch.getSystemType(), criteria.claimUniqueIds(), paramBuilders); var institutionalSharedSystemsClaims = asyncService.findByIdsInClaimType( CLAIM_INSTITUTIONAL_SHARED_SYSTEMS, - ClaimInstitutionalSharedSystems.class, - ClaimInstitutionalSharedSystems.getSystemType(), + ClaimInstitutionalCmsSharedSystems.class, + ClaimInstitutionalCmsSharedSystems.getSystemType(), criteria.claimUniqueIds(), paramBuilders); var institutionalNchClaims = asyncService.findByIdsInClaimType( CLAIM_INSTITUTIONAL_NCH, - ClaimInstitutionalNch.class, - ClaimInstitutionalNch.getSystemType(), + ClaimInstitutionalCmsNch.class, + ClaimInstitutionalCmsNch.getSystemType(), criteria.claimUniqueIds(), paramBuilders); var rxClaims = asyncService.findByIdsInClaimType( CLAIM_RX, - ClaimRx.class, - ClaimRx.getSystemType(), + ClaimCmsRx.class, + ClaimCmsRx.getSystemType(), criteria.claimUniqueIds(), paramBuilders); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimTypeDefinition.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimTypeDefinition.java index b34f90b53c..e57a1440e1 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimTypeDefinition.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/ClaimTypeDefinition.java @@ -1,8 +1,8 @@ package gov.cms.bfd.server.ng.claim; import gov.cms.bfd.server.ng.DbFilterBuilder; -import gov.cms.bfd.server.ng.claim.model.ClaimBase; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.entities.ClaimBase; import java.util.List; /** diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/CarrierLineMTUSIndicatorCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/CarrierLineMTUSIndicatorCodeConverter.java index ef89e5c110..85cc889609 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/CarrierLineMTUSIndicatorCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/CarrierLineMTUSIndicatorCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.CarrierLineMTUSIndicatorCode; +import gov.cms.bfd.server.ng.claim.model.common.CarrierLineMTUSIndicatorCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/CatastrophicCoverageCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/CatastrophicCoverageCodeConverter.java index 25cce91fac..c7a483a788 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/CatastrophicCoverageCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/CatastrophicCoverageCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.CatastrophicCoverageCode; +import gov.cms.bfd.server.ng.claim.model.common.CatastrophicCoverageCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdjustmentTypeCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdjustmentTypeCodeConverter.java index 61fc2e9f55..b4e3c1556a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdjustmentTypeCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdjustmentTypeCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimAdjustmentTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimAdjustmentTypeCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdmissionSourceCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdmissionSourceCodeConverter.java index 6aba8eab1b..090befcbc7 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdmissionSourceCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdmissionSourceCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimAdmissionSourceCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimAdmissionSourceCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdmissionTypeCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdmissionTypeCodeConverter.java index 445a61133c..2b4c3c2507 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdmissionTypeCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAdmissionTypeCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimAdmissionTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimAdmissionTypeCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAuditTrailLocationCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAuditTrailLocationCodeConverter.java index f95959e924..c1929b343f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAuditTrailLocationCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimAuditTrailLocationCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimAuditTrailLocationCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimAuditTrailLocationCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimContractorNumberConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimContractorNumberConverter.java index b9f82c3bc7..c253483f66 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimContractorNumberConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimContractorNumberConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimContractorNumber; +import gov.cms.bfd.server.ng.claim.model.common.ClaimContractorNumber; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimCurrentStatusCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimCurrentStatusCodeConverter.java index d255a42c7f..187d4bae44 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimCurrentStatusCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimCurrentStatusCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimCurrentStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimCurrentStatusCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDiagnosisTypeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDiagnosisTypeConverter.java index b04a50b17b..7fae0bad11 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDiagnosisTypeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDiagnosisTypeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimDiagnosisType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimDiagnosisType; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDispenseAsWrittenConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDispenseAsWrittenConverter.java index 73c48b6f4e..b31551c9c6 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDispenseAsWrittenConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDispenseAsWrittenConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimDispenseAsWrittenCode; +import gov.cms.bfd.server.ng.claim.model.rx.ClaimDispenseAsWrittenCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDispositionCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDispositionCodeConverter.java index 323fa1375f..412d73e95b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDispositionCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimDispositionCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimDispositionCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimDispositionCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFederalTypeOfServiceCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFederalTypeOfServiceCodeConverter.java index dc0fc2c0f3..daf6d78da7 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFederalTypeOfServiceCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFederalTypeOfServiceCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimFederalTypeOfServiceCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFederalTypeOfServiceCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFinalActionConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFinalActionConverter.java index 8e7e2bacb4..5ad89f4c0a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFinalActionConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFinalActionConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimFinalAction; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFinalAction; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFiscalIntermediaryActionCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFiscalIntermediaryActionCodeConverter.java index c55b5b4d10..08911174cc 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFiscalIntermediaryActionCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimFiscalIntermediaryActionCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimFiscalIntermediaryActionCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFiscalIntermediaryActionCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineBrandGenericCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineBrandGenericCodeConverter.java index ec0387c6d0..2a8a097f62 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineBrandGenericCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineBrandGenericCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimLineBrandGenericCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBrandGenericCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineCompoundCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineCompoundCodeConverter.java index 6dedd3bec0..a32960820e 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineCompoundCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineCompoundCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimLineCompoundCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineCompoundCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineDeductibleCoinsuranceCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineDeductibleCoinsuranceCodeConverter.java index 7f763824f5..8e86222961 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineDeductibleCoinsuranceCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineDeductibleCoinsuranceCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimLineDeductibleCoinsuranceCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineDeductibleCoinsuranceCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineHCTHGBTestTypeCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineHCTHGBTestTypeCodeConverter.java index cd816b8607..5eb7f32b61 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineHCTHGBTestTypeCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineHCTHGBTestTypeCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimLineHCTHGBTestTypeCode; +import gov.cms.bfd.server.ng.claim.model.professional.ClaimLineHCTHGBTestTypeCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineRevenueCenterCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineRevenueCenterCodeConverter.java index 89457d978e..7f4fd49738 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineRevenueCenterCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineRevenueCenterCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimLineRevenueCenterCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineRevenueCenterCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimNonpaymentReasonCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimNonpaymentReasonCodeConverter.java index d075f2f174..b31deb4347 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimNonpaymentReasonCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimNonpaymentReasonCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimNonpaymentReasonCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimNonpaymentReasonCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimOutpatientServiceTypeCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimOutpatientServiceTypeCodeConverter.java index d2c98c3f7d..544e46d0e5 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimOutpatientServiceTypeCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimOutpatientServiceTypeCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimOutpatientServiceTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimOutpatientServiceTypeCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPatientResidenceCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPatientResidenceCodeConverter.java index f0397fce13..793c8e3866 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPatientResidenceCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPatientResidenceCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimPatientResidenceCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPatientResidenceCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPaymentCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPaymentCodeConverter.java index 6c94e56da8..bed3897eee 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPaymentCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPaymentCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimPaymentCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaymentCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPaymentDenialCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPaymentDenialCodeConverter.java index 7fb4bafbb0..380569b233 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPaymentDenialCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPaymentDenialCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimPaymentDenialCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaymentDenialCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPlaceOfServiceCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPlaceOfServiceCodeConverter.java index ec2ed1c675..56dea7b0a9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPlaceOfServiceCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPlaceOfServiceCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimPlaceOfServiceCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPlaceOfServiceCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPrescriptionOriginCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPrescriptionOriginCodeConverter.java index e9e3211bfb..71217664ac 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPrescriptionOriginCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPrescriptionOriginCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimPrescriptionOriginCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPrescriptionOriginCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPricingLocalityCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPricingLocalityCodeConverter.java index 631190eb3c..f0c48c98ce 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPricingLocalityCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPricingLocalityCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimPricingLocalityCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPricingLocalityCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPricingReasonCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPricingReasonCodeConverter.java index b9dccf68a0..175bc09239 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPricingReasonCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPricingReasonCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimPricingReasonCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPricingReasonCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPrimaryPayerCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPrimaryPayerCodeConverter.java index 7e3369e2e6..feba3211e9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPrimaryPayerCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimPrimaryPayerCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimPrimaryPayerCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPrimaryPayerCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimProcessingIndicatorCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimProcessingIndicatorCodeConverter.java index 56b178d38a..07292384a9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimProcessingIndicatorCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimProcessingIndicatorCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimProcessingIndicatorCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcessingIndicatorCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimQueryCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimQueryCodeConverter.java index 28b3c52275..8fdd5050be 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimQueryCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimQueryCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimQueryCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimQueryCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimRecordTypeCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimRecordTypeCodeConverter.java index bbcc80be0a..ae552b1dc2 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimRecordTypeCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimRecordTypeCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimRecordTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordTypeCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimRelatedConditionCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimRelatedConditionCodeConverter.java index e41642e52b..7f6a2a4048 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimRelatedConditionCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimRelatedConditionCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimRelatedConditionCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedConditionCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimServiceDeductibleCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimServiceDeductibleCodeConverter.java index d1bd463428..2a108179a1 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimServiceDeductibleCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimServiceDeductibleCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimServiceDeductibleCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimServiceDeductibleCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSourceIdConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSourceIdConverter.java index 7b99d64644..4591d1babb 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSourceIdConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSourceIdConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSubmissionCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSubmissionCodeConverter.java index 6bce3d8f3b..100fe78d68 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSubmissionCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSubmissionCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimSubmissionCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubmissionCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSubmissionFormatCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSubmissionFormatCodeConverter.java index e2f1332e5a..311a860889 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSubmissionFormatCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSubmissionFormatCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimSubmissionFormatCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubmissionFormatCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSupplierTypeCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSupplierTypeCodeConverter.java index e662548456..f0f8485fd6 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSupplierTypeCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimSupplierTypeCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimSupplierTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSupplierTypeCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimTypeCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimTypeCodeConverter.java index a834830b0d..b4cadd646b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimTypeCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimTypeCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimTypeCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/DrugCoverageStatusCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/DrugCoverageStatusCodeConverter.java index 7f16000095..84d1f459ae 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/DrugCoverageStatusCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/DrugCoverageStatusCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.DrugCoverageStatusCode; +import gov.cms.bfd.server.ng.claim.model.rx.DrugCoverageStatusCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HealthProfessionalShortageAreaScarcityCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HealthProfessionalShortageAreaScarcityCodeConverter.java index 72ea6eb0a8..326a5ff618 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HealthProfessionalShortageAreaScarcityCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HealthProfessionalShortageAreaScarcityCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.HealthProfessionalShortageAreaScarcityCode; +import gov.cms.bfd.server.ng.claim.model.professional.HealthProfessionalShortageAreaScarcityCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HhaLupaIndicatorCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HhaLupaIndicatorCodeConverter.java index cbf67c9b2f..1fca77a508 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HhaLupaIndicatorCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HhaLupaIndicatorCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.HhaLupaIndicatorCode; +import gov.cms.bfd.server.ng.claim.model.institutional.HhaLupaIndicatorCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HhaReferralCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HhaReferralCodeConverter.java index aef8622dfd..04f0c4b0c9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HhaReferralCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/HhaReferralCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.HhaReferralCode; +import gov.cms.bfd.server.ng.claim.model.common.HhaReferralCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/IcdIndicatorConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/IcdIndicatorConverter.java index bd4146b9d4..24c182b26e 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/IcdIndicatorConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/IcdIndicatorConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.IcdIndicator; +import gov.cms.bfd.server.ng.claim.model.common.IcdIndicator; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/IdrUnitConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/IdrUnitConverter.java index e80695ad59..331a60fec8 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/IdrUnitConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/IdrUnitConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.IdrUnit; +import gov.cms.bfd.server.ng.claim.model.common.IdrUnit; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/McoPaidSwitchConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/McoPaidSwitchConverter.java index 569cd8e860..a5f63628c5 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/McoPaidSwitchConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/McoPaidSwitchConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.McoPaidSwitch; +import gov.cms.bfd.server.ng.claim.model.common.McoPaidSwitch; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/MetaSourceSkConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/MetaSourceSkConverter.java index b67ba9acc9..22886a0d6a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/MetaSourceSkConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/MetaSourceSkConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PatientStatusCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PatientStatusCodeConverter.java index 67cab502d3..18286d8bae 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PatientStatusCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PatientStatusCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.PatientStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.PatientStatusCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PharmacySrvcTypeCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PharmacySrvcTypeCodeConverter.java index 72ef48be1e..d225ee24bd 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PharmacySrvcTypeCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PharmacySrvcTypeCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.PharmacySrvcTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.PharmacySrvcTypeCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PpsIndicatorCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PpsIndicatorCodeConverter.java index 551d8edc6b..bb8b3a88e3 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PpsIndicatorCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/PpsIndicatorCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.PpsIndicatorCode; +import gov.cms.bfd.server.ng.claim.model.common.PpsIndicatorCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderAssignmentIndicatorSwitchConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderAssignmentIndicatorSwitchConverter.java index d291c99fbe..e86e224882 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderAssignmentIndicatorSwitchConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderAssignmentIndicatorSwitchConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ProviderAssignmentIndicatorSwitch; +import gov.cms.bfd.server.ng.claim.model.common.ProviderAssignmentIndicatorSwitch; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderIdQualifierCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderIdQualifierCodeConverter.java index 0b56f3897a..55c6c29cdb 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderIdQualifierCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderIdQualifierCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ProviderIdQualifierCode; +import gov.cms.bfd.server.ng.claim.model.common.ProviderIdQualifierCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderSpecialtyCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderSpecialtyCodeConverter.java index 69e74f969c..63b872be0e 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderSpecialtyCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ProviderSpecialtyCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ProviderSpecialtyCode; +import gov.cms.bfd.server.ng.claim.model.common.ProviderSpecialtyCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ReducedPaymentPhysicianAssistantCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ReducedPaymentPhysicianAssistantCodeConverter.java index b680efd403..6218aacecd 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ReducedPaymentPhysicianAssistantCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ReducedPaymentPhysicianAssistantCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.ReducedPaymentPhysicianAssistantCode; +import gov.cms.bfd.server.ng.claim.model.common.ReducedPaymentPhysicianAssistantCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/RevenueCenterAnsiGroupCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/RevenueCenterAnsiGroupCodeConverter.java index be43388a25..81c31aa878 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/RevenueCenterAnsiGroupCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/RevenueCenterAnsiGroupCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.RevenueCenterAnsiGroupCode; +import gov.cms.bfd.server.ng.claim.model.common.RevenueCenterAnsiGroupCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/RevenueCenterAnsiReasonCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/RevenueCenterAnsiReasonCodeConverter.java index 45ca2f5c9f..5e251fb670 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/RevenueCenterAnsiReasonCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/RevenueCenterAnsiReasonCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.claim.converter; -import gov.cms.bfd.server.ng.claim.model.RevenueCenterAnsiReasonCode; +import gov.cms.bfd.server.ng.claim.model.common.RevenueCenterAnsiReasonCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/BillablePeriodFilterParam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/BillablePeriodFilterParam.java index cfd92f934e..bfd993f56a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/BillablePeriodFilterParam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/BillablePeriodFilterParam.java @@ -3,7 +3,7 @@ import gov.cms.bfd.server.ng.DbFilter; import gov.cms.bfd.server.ng.DbFilterBuilder; import gov.cms.bfd.server.ng.DbFilterParam; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; import gov.cms.bfd.server.ng.input.DateTimeRange; import java.util.ArrayList; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/ClaimTypeCodeFilterParam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/ClaimTypeCodeFilterParam.java index 689e180df0..47d82cfaf5 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/ClaimTypeCodeFilterParam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/ClaimTypeCodeFilterParam.java @@ -3,8 +3,8 @@ import gov.cms.bfd.server.ng.DbFilter; import gov.cms.bfd.server.ng.DbFilterBuilder; import gov.cms.bfd.server.ng.DbFilterParam; -import gov.cms.bfd.server.ng.claim.model.ClaimTypeCode; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; import java.util.List; import org.jetbrains.annotations.NotNull; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/LastUpdatedFilterParam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/LastUpdatedFilterParam.java index 65087a85a3..0fd16fd6a0 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/LastUpdatedFilterParam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/LastUpdatedFilterParam.java @@ -3,7 +3,7 @@ import gov.cms.bfd.server.ng.DbFilter; import gov.cms.bfd.server.ng.DbFilterBuilder; import gov.cms.bfd.server.ng.DbFilterParam; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; import gov.cms.bfd.server.ng.input.DateTimeRange; import java.util.ArrayList; import org.jetbrains.annotations.NotNull; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/OutcomeFilterParam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/OutcomeFilterParam.java index 1a2d88ffc5..8e0b95c063 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/OutcomeFilterParam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/OutcomeFilterParam.java @@ -3,8 +3,8 @@ import gov.cms.bfd.server.ng.DbFilter; import gov.cms.bfd.server.ng.DbFilterBuilder; import gov.cms.bfd.server.ng.DbFilterParam; -import gov.cms.bfd.server.ng.claim.model.ClaimPaidStatusCode; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaidStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; import java.util.ArrayList; import java.util.List; import org.hl7.fhir.r4.model.ExplanationOfBenefit; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/SourceFilterParam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/SourceFilterParam.java index cd7ad3f28d..2cb9eb5d18 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/SourceFilterParam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/SourceFilterParam.java @@ -3,8 +3,8 @@ import gov.cms.bfd.server.ng.DbFilter; import gov.cms.bfd.server.ng.DbFilterBuilder; import gov.cms.bfd.server.ng.DbFilterParam; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; import java.util.ArrayList; import java.util.List; import org.jetbrains.annotations.NotNull; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/TagCriteriaFilterParam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/TagCriteriaFilterParam.java index 206f3f4bbe..bd5ca90492 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/TagCriteriaFilterParam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/filter/TagCriteriaFilterParam.java @@ -3,8 +3,8 @@ import gov.cms.bfd.server.ng.DbFilter; import gov.cms.bfd.server.ng.DbFilterBuilder; import gov.cms.bfd.server.ng.DbFilterParam; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; -import gov.cms.bfd.server.ng.claim.model.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; import gov.cms.bfd.server.ng.input.TagCriterion; import java.util.ArrayList; import java.util.List; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeBase.java deleted file mode 100644 index 91959ea1e0..0000000000 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeBase.java +++ /dev/null @@ -1,12 +0,0 @@ -package gov.cms.bfd.server.ng.claim.model; - -import jakarta.persistence.Embeddable; -import java.util.List; -import org.hl7.fhir.r4.model.ExplanationOfBenefit; - -@Embeddable -interface AdjudicationChargeBase { - List toFhirTotal(); - - List toFhirAdjudication(); -} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AttendingPhysicianCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AttendingPhysicianCareTeam.java index 81cf6f8eea..699f5695e2 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AttendingPhysicianCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AttendingPhysicianCareTeam.java @@ -1,5 +1,9 @@ package gov.cms.bfd.server.ng.claim.model; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimContext; +import gov.cms.bfd.server.ng.claim.model.common.ProviderFhirHelper; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -16,18 +20,18 @@ class AttendingPhysicianCareTeam extends ProviderHistoryBase { private Optional npiType; @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.ATTENDING; } @Override @Transient - protected ProviderHistoryBase.NpiType getNpiType() { + public ProviderHistoryBase.NpiType getNpiType() { return ProviderHistoryBase.NpiType.fromNpiTypeCode(npiType); } @Override - Optional toFhirCareTeamComponent( + public Optional toFhirCareTeamComponent( Integer sequence, Optional claimContext) { return getProviderNpiNumber() .flatMap( diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTypePriorAuth.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTypePriorAuth.java index c963867491..3ccb45c831 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTypePriorAuth.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTypePriorAuth.java @@ -1,5 +1,6 @@ package gov.cms.bfd.server.ng.claim.model; +import gov.cms.bfd.server.ng.claim.model.common.ClaimType; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OrderingOrReferringCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OrderingOrReferringCareTeam.java index f81541d87b..c9e264eb51 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OrderingOrReferringCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OrderingOrReferringCareTeam.java @@ -1,5 +1,9 @@ package gov.cms.bfd.server.ng.claim.model; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimContext; +import gov.cms.bfd.server.ng.claim.model.common.ProviderFhirHelper; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -17,18 +21,18 @@ class OrderingOrReferringCareTeam extends ProviderHistoryBase { private Optional npiType; @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.REFERRING; } @Override @Transient - protected ProviderHistoryBase.NpiType getNpiType() { + public ProviderHistoryBase.NpiType getNpiType() { return ProviderHistoryBase.NpiType.fromNpiTypeCode(npiType); } @Override - Optional toFhirCareTeamComponent( + public Optional toFhirCareTeamComponent( Integer sequence, Optional claimContext) { return getProviderNpiNumber() .flatMap( diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherProfessionalCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherProfessionalCareTeam.java index 7e22aacd97..35340eee40 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherProfessionalCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherProfessionalCareTeam.java @@ -1,17 +1,21 @@ package gov.cms.bfd.server.ng.claim.model; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; -/** Attending Provider History. * */ +/** + * Attending Provider History. NOTE - this is not currently in use anywhere (as far as I can tell) + */ @Embeddable @AttributeOverride(name = "providerNpiNumber", column = @Column(name = "prvdr_othr_prvdr_npi_num")) @AttributeOverride(name = "providerName", column = @Column(name = "bfd_prvdr_othr_careteam_name")) public class OtherProfessionalCareTeam extends ProviderHistoryBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.OTHER; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthRenderingCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthRenderingCareTeam.java index e9ffe7a60e..ffd1bba2c2 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthRenderingCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthRenderingCareTeam.java @@ -1,5 +1,9 @@ package gov.cms.bfd.server.ng.claim.model; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimContext; +import gov.cms.bfd.server.ng.claim.model.common.ProviderFhirHelper; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -16,18 +20,18 @@ class PriorAuthRenderingCareTeam extends ProviderHistoryBase { private Optional npiType; @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.RENDERING; } @Override @Transient - protected ProviderHistoryBase.NpiType getNpiType() { + public ProviderHistoryBase.NpiType getNpiType() { return ProviderHistoryBase.NpiType.fromNpiTypeCode(npiType); } @Override - Optional toFhirCareTeamComponent( + public Optional toFhirCareTeamComponent( Integer sequence, Optional claimContext) { return getProviderNpiNumber() .flatMap( diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorization.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorization.java index ac81d28231..5f8eee7778 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorization.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorization.java @@ -1,6 +1,13 @@ package gov.cms.bfd.server.ng.claim.model; import gov.cms.bfd.server.ng.beneficiary.model.BeneficiarySimple; +import gov.cms.bfd.server.ng.claim.model.common.ClaimContractorNumber; +import gov.cms.bfd.server.ng.claim.model.common.ClaimState; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.OrganizationFactory; +import gov.cms.bfd.server.ng.claim.model.common.PatientReferenceFactory; +import gov.cms.bfd.server.ng.claim.model.common.ProviderFhirHelper; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.DateUtil; import gov.cms.bfd.server.ng.util.SequenceGenerator; import gov.cms.bfd.server.ng.util.SystemUrls; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationItem.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationItem.java index 2641431a85..1faaca5664 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationItem.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationItem.java @@ -1,5 +1,7 @@ package gov.cms.bfd.server.ng.claim.model; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineRevenueCenterCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPlaceOfServiceCode; import jakarta.persistence.*; import java.util.Optional; import lombok.EqualsAndHashCode; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationMeta.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationMeta.java index 68fc378e55..c0fa272ecf 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationMeta.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationMeta.java @@ -3,6 +3,7 @@ import static gov.cms.bfd.server.ng.util.SystemUrls.PROFILE_PRIOR_AUTH; import gov.cms.bfd.server.ng.ClaimSecurityStatus; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationTypeOfBill.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationTypeOfBill.java index bc29116fa2..e2bf7010d4 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationTypeOfBill.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PriorAuthorizationTypeOfBill.java @@ -1,5 +1,7 @@ package gov.cms.bfd.server.ng.claim.model; +import gov.cms.bfd.server.ng.claim.model.common.CarinSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/AdjudicationChargeBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/AdjudicationChargeBase.java new file mode 100644 index 0000000000..9ea994dac3 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/AdjudicationChargeBase.java @@ -0,0 +1,21 @@ +package gov.cms.bfd.server.ng.claim.model.common; + +import java.util.List; +import org.hl7.fhir.r4.model.ExplanationOfBenefit; + +/** Adjudication Charge Base interface. */ +public interface AdjudicationChargeBase { + /** + * toFhir(). + * + * @return an eob.TotalComponent + */ + List toFhirTotal(); + + /** + * toFhirAdjudication(). + * + * @return an eob.AdjudicationComponent + */ + List toFhirAdjudication(); +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeType.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/AdjudicationChargeType.java similarity index 96% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeType.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/AdjudicationChargeType.java index b722a1c12d..108e44763b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeType.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/AdjudicationChargeType.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.math.BigDecimal; @@ -10,10 +10,15 @@ // Suppress warnings for duplicate string literals. // There's too many values here - creating constants for all of these adds too much noise. -@SuppressWarnings("java:S1192") +@SuppressWarnings({ + "java:S1192", + "checkstyle:MissingJavadocType", + "checkstyle:JavadocVariable", + "checkstyle:MissingJavadocMethod" +}) @AllArgsConstructor @Getter -enum AdjudicationChargeType { +public enum AdjudicationChargeType { LINE_NONCOVERED_CHARGE_AMOUNT( SystemUrls.CARIN_CODE_SYSTEM_ADJUDICATION, "noncovered", @@ -446,31 +451,32 @@ private CodeableConcept buildCategory() { return category; } - ExplanationOfBenefit.AdjudicationComponent toFhirAdjudication(BigDecimal value) { + public ExplanationOfBenefit.AdjudicationComponent toFhirAdjudication(BigDecimal value) { return new ExplanationOfBenefit.AdjudicationComponent() .setCategory(buildCategory()) .setAmount(USD.toFhir(value)); } - ExplanationOfBenefit.AdjudicationComponent toFhirAdjudicationUnsignedType(int value) { + public ExplanationOfBenefit.AdjudicationComponent toFhirAdjudicationUnsignedType(int value) { return new ExplanationOfBenefit.AdjudicationComponent() .setCategory(buildCategory()) .setValue(Integer.toUnsignedLong(value)); } - ExplanationOfBenefit.AdjudicationComponent toFhirAdjudicationUnsignedType(long value) { + public ExplanationOfBenefit.AdjudicationComponent toFhirAdjudicationUnsignedType(long value) { return new ExplanationOfBenefit.AdjudicationComponent() .setCategory(buildCategory()) .setValue(value); } - ExplanationOfBenefit.AdjudicationComponent toFhirAdjudicationDecimalType(BigDecimal value) { + public ExplanationOfBenefit.AdjudicationComponent toFhirAdjudicationDecimalType( + BigDecimal value) { return new ExplanationOfBenefit.AdjudicationComponent() .setCategory(buildCategory()) .setValue(value); } - ExplanationOfBenefit.TotalComponent toFhirTotal(BigDecimal value) { + public ExplanationOfBenefit.TotalComponent toFhirTotal(BigDecimal value) { return new ExplanationOfBenefit.TotalComponent() .setCategory(buildCategory()) .setAmount(USD.toFhir(value)); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BenefitEnhancementCodes.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BenefitEnhancementCodes.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BenefitEnhancementCodes.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BenefitEnhancementCodes.java index 3231262c82..1754dd811b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BenefitEnhancementCodes.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BenefitEnhancementCodes.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.converter.WhitespaceTrimConverter; import gov.cms.bfd.server.ng.util.SystemUrls; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillablePeriod.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BillablePeriod.java similarity index 85% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillablePeriod.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BillablePeriod.java index 8f303c9ec5..ad87944fbd 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillablePeriod.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BillablePeriod.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; @@ -29,7 +29,12 @@ public class BillablePeriod { @Column(name = "clm_thru_dt") private Optional claimThroughDate; - Period toFhir() { + /** + * LocalDate -> Period. + * + * @return the Period generated from claimFromDate and claimThroughDate + */ + public Period toFhir() { var period = new Period(); period.setStartElement(DateUtil.toFhirDate(claimFromDate)); claimThroughDate.ifPresent(d -> period.setEndElement(DateUtil.toFhirDate(d))); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BloodPints.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BloodPints.java similarity index 80% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BloodPints.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BloodPints.java index ea24eb0a82..f9dfba6c2e 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BloodPints.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BloodPints.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.converter.NonZeroIntConverter; import gov.cms.bfd.server.ng.util.SystemUrls; @@ -10,12 +10,13 @@ import org.hl7.fhir.r4.model.SimpleQuantity; @Embeddable -class BloodPints { +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) +public class BloodPints { @Convert(converter = NonZeroIntConverter.class) @Column(name = "clm_blood_pt_frnsh_qty") private Optional bloodPints; - Optional toFhir( + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { return bloodPints.map( pints -> diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BlueButtonSupportingInfoCategory.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BlueButtonSupportingInfoCategory.java similarity index 97% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BlueButtonSupportingInfoCategory.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BlueButtonSupportingInfoCategory.java index b573ac6084..f3c95a3c06 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BlueButtonSupportingInfoCategory.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/BlueButtonSupportingInfoCategory.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import lombok.AllArgsConstructor; @@ -6,7 +6,8 @@ import org.hl7.fhir.r4.model.Coding; @AllArgsConstructor -enum BlueButtonSupportingInfoCategory { +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) +public enum BlueButtonSupportingInfoCategory { /** CLM_NCH_WKLY_PROC_DT - Weekly Process Date. */ CLM_NCH_WKLY_PROC_DT("CLM_NCH_WKLY_PROC_DT", "Weekly Process Date"), /** CLM_BLOOD_PT_FRNSH_QTY - Blood Pints Furnished Quantity. */ @@ -118,7 +119,7 @@ enum BlueButtonSupportingInfoCategory { private final String code; private final String display; - CodeableConcept toFhir() { + public CodeableConcept toFhir() { return new CodeableConcept() .addCoding( new Coding() diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CareTeamBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CareTeamBase.java similarity index 88% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CareTeamBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CareTeamBase.java index 006a6f9976..bb93aa77a3 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CareTeamBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CareTeamBase.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import jakarta.persistence.MappedSuperclass; import java.util.Optional; @@ -12,7 +12,7 @@ public abstract class CareTeamBase extends ProviderHistoryBase { private Optional specialtyCode; @Override - Optional toFhirCareTeamComponent( + public Optional toFhirCareTeamComponent( Integer sequence, Optional claimContext) { var careTeamComponent = super.toFhirCareTeamComponent(sequence, claimContext); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CareTeamType.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CareTeamType.java similarity index 94% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CareTeamType.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CareTeamType.java index 91850d8c10..3a906b74d4 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CareTeamType.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CareTeamType.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SequenceGenerator; import gov.cms.bfd.server.ng.util.SystemUrls; @@ -10,6 +10,7 @@ /** Represents the enum Care Team Type. */ @AllArgsConstructor @Getter +@SuppressWarnings("checkstyle:MissingJavadocMethod") public enum CareTeamType { /** Attending care team type. */ ATTENDING("attending", "Attending"), @@ -33,7 +34,7 @@ public enum CareTeamType { private final String roleCode; private final String roleDisplay; - CareTeamComponents toFhir( + public CareTeamComponents toFhir( SequenceGenerator sequenceGenerator, String value, HumanName name, diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CarinSupportingInfoCategory.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CarinSupportingInfoCategory.java similarity index 72% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CarinSupportingInfoCategory.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CarinSupportingInfoCategory.java index db71538873..a61e70d3e4 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CarinSupportingInfoCategory.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CarinSupportingInfoCategory.java @@ -1,12 +1,14 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import lombok.AllArgsConstructor; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; +/** The Carin Supporting Info Category. */ @AllArgsConstructor -enum CarinSupportingInfoCategory { +@SuppressWarnings("checkstyle:JavadocVariable") +public enum CarinSupportingInfoCategory { ACTIVE_CARE_FROM_DATE("admissionperiod"), ADMISSION_TYPE_CODE("admtype"), SUBMISSION_DATE("clmrecvddate"), @@ -24,7 +26,12 @@ enum CarinSupportingInfoCategory { private final String code; - CodeableConcept toFhir() { + /** + * Enum -> CodeableConcept. + * + * @return the CodeableConcept concept generated from the enum + */ + public CodeableConcept toFhir() { return new CodeableConcept( new Coding().setSystem(SystemUrls.CARIN_CODE_SYSTEM_SUPPORTING_INFO_TYPE).setCode(code)); } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CarrierLineMTUSIndicatorCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CarrierLineMTUSIndicatorCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CarrierLineMTUSIndicatorCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CarrierLineMTUSIndicatorCode.java index a03a570f25..270dfd77be 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CarrierLineMTUSIndicatorCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CarrierLineMTUSIndicatorCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CatastrophicCoverageCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CatastrophicCoverageCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CatastrophicCoverageCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CatastrophicCoverageCode.java index 4cd9648fa2..253a9b5d37 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/CatastrophicCoverageCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/CatastrophicCoverageCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAdjustmentTypeCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAdjustmentTypeCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAdjustmentTypeCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAdjustmentTypeCode.java index e4171d8345..8f9c68d412 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAdjustmentTypeCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAdjustmentTypeCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAdmissionSourceCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAdmissionSourceCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAdmissionSourceCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAdmissionSourceCode.java index d58f80901d..6d4bd5d8dd 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAdmissionSourceCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAdmissionSourceCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAdmissionTypeCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAdmissionTypeCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAdmissionTypeCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAdmissionTypeCode.java index b9f8cb9f41..84dd4b54b3 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAdmissionTypeCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAdmissionTypeCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAuditTrailLocationCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAuditTrailLocationCode.java similarity index 96% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAuditTrailLocationCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAuditTrailLocationCode.java index 52fac5c9ca..74b437736b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAuditTrailLocationCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAuditTrailLocationCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import java.util.Arrays; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAuditTrailStatusCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAuditTrailStatusCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAuditTrailStatusCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAuditTrailStatusCode.java index 45d3281a7a..da1c8ffd97 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAuditTrailStatusCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimAuditTrailStatusCode.java @@ -1,6 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; -import static gov.cms.bfd.server.ng.claim.model.BlueButtonSupportingInfoCategory.CLM_AUDT_TRL_STUS_CD; +import static gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory.CLM_AUDT_TRL_STUS_CD; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; @@ -937,7 +937,13 @@ public static Optional tryFromCode( return Optional.ofNullable(CLAIM_STATUS_LOOKUP.get(new Key(source, statusCode, locationCode))); } - ExplanationOfBenefit.SupportingInformationComponent toFhir( + /** + * Create a SupportingInfomrationComponent from the claim audit trail status code. + * + * @param supportingInfoFactory the factory + * @return the SupportingInformationComponent + */ + public ExplanationOfBenefit.SupportingInformationComponent toFhir( SupportingInfoFactory supportingInfoFactory) { return supportingInfoFactory .createSupportingInfo() diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimContext.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimContext.java similarity index 83% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimContext.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimContext.java index 3cd46cd518..d8a950ccc0 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimContext.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimContext.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; /** Represents the context or category of a claim within the BFD system. */ public enum ClaimContext { diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimContractorNumber.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimContractorNumber.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimContractorNumber.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimContractorNumber.java index c121be6bd3..b8c53db5a0 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimContractorNumber.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimContractorNumber.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimCurrentStatusCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimCurrentStatusCode.java similarity index 95% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimCurrentStatusCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimCurrentStatusCode.java index 9044baac7d..fd87a85708 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimCurrentStatusCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimCurrentStatusCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import java.util.Arrays; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDiagnosisType.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimDiagnosisType.java similarity index 96% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDiagnosisType.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimDiagnosisType.java index 3cbb017c06..b1c1bcd726 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDiagnosisType.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimDiagnosisType.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDispositionCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimDispositionCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDispositionCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimDispositionCode.java index dfc4e67658..7d30f74a31 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDispositionCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimDispositionCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimFederalTypeOfServiceCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimFederalTypeOfServiceCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimFederalTypeOfServiceCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimFederalTypeOfServiceCode.java index c558d6e30f..0e2be3ea5b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimFederalTypeOfServiceCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimFederalTypeOfServiceCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimFinalAction.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimFinalAction.java similarity index 95% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimFinalAction.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimFinalAction.java index 31b6558798..72370fc228 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimFinalAction.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimFinalAction.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimFiscalIntermediaryActionCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimFiscalIntermediaryActionCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimFiscalIntermediaryActionCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimFiscalIntermediaryActionCode.java index 430424851a..2f4b7a6353 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimFiscalIntermediaryActionCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimFiscalIntermediaryActionCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimIDRLoadDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimIDRLoadDate.java similarity index 71% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimIDRLoadDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimIDRLoadDate.java index 94234015e8..bb52b33907 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimIDRLoadDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimIDRLoadDate.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; @@ -7,12 +7,13 @@ import org.hl7.fhir.r4.model.DateType; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class ClaimIDRLoadDate { +public class ClaimIDRLoadDate { @Column(name = "clm_idr_ld_dt") private LocalDate claimIDRLoadDate; - ExplanationOfBenefit.SupportingInformationComponent toFhir( + public ExplanationOfBenefit.SupportingInformationComponent toFhir( SupportingInfoFactory supportingInfoFactory) { return supportingInfoFactory .createSupportingInfo() diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimItemBase.java similarity index 95% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimItemBase.java index f9aba9cbe9..39f11a0c46 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimItemBase.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import java.util.Optional; import org.jetbrains.annotations.NotNull; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemId.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimItemId.java similarity index 81% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemId.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimItemId.java index 6c65eff759..66c54afa1b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemId.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimItemId.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -10,12 +10,13 @@ import lombok.NoArgsConstructor; import org.jetbrains.annotations.NotNull; +@SuppressWarnings("checkstyle:MissingJavadocType") @EqualsAndHashCode @NoArgsConstructor @Getter @AllArgsConstructor @Embeddable -class ClaimItemId implements Serializable, Comparable { +public class ClaimItemId implements Serializable, Comparable { @Column(name = "clm_uniq_id", insertable = false, updatable = false) private long claimUniqueId; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineBase.java similarity index 78% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineBase.java index 651cbb71dc..90ffeca9ae 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineBase.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.ClaimFilterOptions; import java.util.List; @@ -6,7 +6,9 @@ import org.hl7.fhir.r4.model.ExplanationOfBenefit; import org.hl7.fhir.r4.model.Observation; -interface ClaimLineBase { +/** Interface for Claim Line items. */ +@SuppressWarnings("checkstyle:MissingJavadocMethod") +public interface ClaimLineBase { Optional toFhirObservation(int bfdRowId); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineBrandGenericCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineBrandGenericCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineBrandGenericCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineBrandGenericCode.java index a0317ab022..00a459e202 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineBrandGenericCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineBrandGenericCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineCompoundCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineCompoundCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineCompoundCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineCompoundCode.java index 94e4cdbcf5..c6f7e1991d 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineCompoundCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineCompoundCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineDeductibleCoinsuranceCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineDeductibleCoinsuranceCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineDeductibleCoinsuranceCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineDeductibleCoinsuranceCode.java index dcb90ab475..b30744f183 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineDeductibleCoinsuranceCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineDeductibleCoinsuranceCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHcpcsCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineHcpcsCode.java similarity index 92% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHcpcsCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineHcpcsCode.java index b7ee3992f3..c2d4bd7af5 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHcpcsCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineHcpcsCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.FhirUtil; import jakarta.persistence.Column; @@ -27,7 +27,7 @@ public class ClaimLineHcpcsCode { * @return an {@link Optional} containing the FHIR {@link Coding} if the HCPCS code is present; * otherwise, an empty {@link Optional}. */ - Optional toFhir() { + public Optional toFhir() { if (hcpcsCode.isEmpty()) { return Optional.empty(); } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHcpcsModifierCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineHcpcsModifierCode.java similarity index 84% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHcpcsModifierCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineHcpcsModifierCode.java index 1b473ad0da..3a6a6b35dc 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHcpcsModifierCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineHcpcsModifierCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.FhirUtil; import jakarta.persistence.Column; @@ -9,9 +9,10 @@ import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; +@SuppressWarnings({"checkstyle:MissingJavadocType", "checkstyle:MissingJavadocMethod"}) @Embeddable @Getter -class ClaimLineHcpcsModifierCode { +public class ClaimLineHcpcsModifierCode { @Column(name = "hcpcs_1_mdfr_cd") private Optional hcpcsModifierCode1; @@ -27,7 +28,7 @@ class ClaimLineHcpcsModifierCode { @Column(name = "hcpcs_5_mdfr_cd") private Optional hcpcsModifierCode5; - CodeableConcept toFhir() { + public CodeableConcept toFhir() { var coding = Stream.of( hcpcsModifierCode1, diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineNdc.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineNdc.java similarity index 77% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineNdc.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineNdc.java index 0a0370100d..7d8a16a955 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineNdc.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineNdc.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; @@ -8,8 +8,9 @@ import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class ClaimLineNdc { +public class ClaimLineNdc { @Column(name = "clm_line_ndc_cd") private Optional ndcCode; @@ -19,7 +20,7 @@ class ClaimLineNdc { @Column(name = "clm_line_ndc_qty_qlfyr_cd") private Optional ndcQuantityQualifierCode; - Optional toFhirDetail() { + public Optional toFhirDetail() { if (ndcCode.isEmpty()) { return Optional.empty(); } @@ -31,11 +32,11 @@ Optional toFhirDetail() { return Optional.of(detail); } - Optional toFhirCoding() { + public Optional toFhirCoding() { return ndcCode.map(c -> new Coding().setSystem(SystemUrls.NDC).setCode(c)); } - Optional getQualifier() { + public Optional getQualifier() { return ndcQuantityQualifierCode.map(Object::toString); } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRevenueCenterCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineRevenueCenterCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRevenueCenterCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineRevenueCenterCode.java index 9fae5bfcd9..0c34c2482d 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRevenueCenterCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineRevenueCenterCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxNumber.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineRxNumber.java similarity index 72% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxNumber.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineRxNumber.java index e8f11dc259..8d680f610a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxNumber.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineRxNumber.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -6,12 +6,13 @@ import org.hl7.fhir.r4.model.ExplanationOfBenefit; import org.hl7.fhir.r4.model.StringType; +@SuppressWarnings({"checkstyle:MissingJavadocType", "checkstyle:MissingJavadocMethod"}) @Embeddable -class ClaimLineRxNumber { +public class ClaimLineRxNumber { @Column(name = "clm_line_rx_num") private String claimLineRxNum; - Optional toFhir( + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { if (claimLineRxNum.isBlank()) { diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineServiceUnitQuantity.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineServiceUnitQuantity.java similarity index 60% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineServiceUnitQuantity.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineServiceUnitQuantity.java index 917712c7e3..3fafe9e2e1 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineServiceUnitQuantity.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimLineServiceUnitQuantity.java @@ -1,15 +1,16 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import org.hl7.fhir.r4.model.SimpleQuantity; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class ClaimLineServiceUnitQuantity { +public class ClaimLineServiceUnitQuantity { @Column(name = "clm_line_srvc_unit_qty") private double serviceUnitQuantity; - SimpleQuantity toFhir() { + public SimpleQuantity toFhir() { var quantity = new SimpleQuantity(); quantity.setValue(serviceUnitQuantity); return quantity; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimNonpaymentReasonCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimNonpaymentReasonCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimNonpaymentReasonCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimNonpaymentReasonCode.java index 0e926e4b29..68204c6c18 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimNonpaymentReasonCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimNonpaymentReasonCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimOutpatientServiceTypeCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimOutpatientServiceTypeCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimOutpatientServiceTypeCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimOutpatientServiceTypeCode.java index 5db8290996..cca317a8e8 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimOutpatientServiceTypeCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimOutpatientServiceTypeCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaidStatusCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaidStatusCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaidStatusCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaidStatusCode.java index 3e817a9990..ba1457faee 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaidStatusCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaidStatusCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPatientResidenceCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPatientResidenceCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPatientResidenceCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPatientResidenceCode.java index d645405e7c..af20ff166a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPatientResidenceCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPatientResidenceCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentAmount.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentAmount.java similarity index 71% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentAmount.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentAmount.java index dad38e59cf..1922b1cf9b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentAmount.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentAmount.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; @@ -7,14 +7,15 @@ import java.util.Optional; import org.hl7.fhir.r4.model.ExplanationOfBenefit; -class ClaimPaymentAmount { +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) +public class ClaimPaymentAmount { @Column(name = "clm_pmt_amt") private BigDecimal claimPaymentAmount; @Column(name = "clm_pd_dt") private Optional claimPaymentDate; - ExplanationOfBenefit.PaymentComponent toFhir() { + public ExplanationOfBenefit.PaymentComponent toFhir() { var payment = new ExplanationOfBenefit.PaymentComponent().setAmount(USD.toFhir(claimPaymentAmount)); claimPaymentDate.ifPresent(d -> payment.setDate(DateUtil.toDate(d))); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentCode.java similarity index 97% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentCode.java index f55e8f4b43..8c07a1905c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentDate.java similarity index 62% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentDate.java index e0797faca4..e26a0e1451 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentDate.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; @@ -6,11 +6,12 @@ import java.util.Optional; import org.hl7.fhir.r4.model.ExplanationOfBenefit; -class ClaimPaymentDate { +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) +public class ClaimPaymentDate { @Column(name = "clm_pd_dt") private Optional claimPaymentDate; - Optional toFhir() { + public Optional toFhir() { return claimPaymentDate.map( date -> new ExplanationOfBenefit.PaymentComponent().setDate(DateUtil.toDate(date))); } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentDenialCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentDenialCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentDenialCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentDenialCode.java index 063599b3a9..f0e250fa87 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPaymentDenialCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPaymentDenialCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPlaceOfServiceCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPlaceOfServiceCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPlaceOfServiceCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPlaceOfServiceCode.java index bb11009a2b..bcf96b2989 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPlaceOfServiceCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPlaceOfServiceCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPrescriptionOriginCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPrescriptionOriginCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPrescriptionOriginCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPrescriptionOriginCode.java index f2caef18cf..842d33c58b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPrescriptionOriginCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPrescriptionOriginCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPricingLocalityCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPricingLocalityCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPricingLocalityCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPricingLocalityCode.java index 4404bdc5be..defa9f405f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPricingLocalityCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPricingLocalityCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPricingReasonCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPricingReasonCode.java similarity index 94% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPricingReasonCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPricingReasonCode.java index 9a3467cccb..9923d909c9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPricingReasonCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPricingReasonCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; @@ -37,7 +37,7 @@ public static Optional tryFromCode(String idrCode) { * * @return list of FHIR codings */ - Coding toFhir() { + public Coding toFhir() { return new Coding() .setSystem(SystemUrls.CARIN_CODE_SYSTEM_PAYER_ADJUDICATION_STATUS) .setCode(code) diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPrimaryPayerCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPrimaryPayerCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPrimaryPayerCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPrimaryPayerCode.java index 357a3abe53..396b943653 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimPrimaryPayerCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimPrimaryPayerCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcedureBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimProcedureBase.java similarity index 83% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcedureBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimProcedureBase.java index c227fbedb8..1e4cfa4c0e 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcedureBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimProcedureBase.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.converter.NonZeroIntConverter; import gov.cms.bfd.server.ng.util.SequenceGenerator; @@ -12,6 +12,7 @@ import org.hl7.fhir.r4.model.ExplanationOfBenefit; /** Procedure and diagnosis info. */ +@SuppressWarnings("checkstyle:MissingJavadocMethod") @Getter @MappedSuperclass public abstract class ClaimProcedureBase { @@ -29,19 +30,19 @@ public abstract class ClaimProcedureBase { @Column(name = "clm_dgns_cd") // SAMHSA private Optional diagnosisCode; - Optional getDiagnosisKey() { + public Optional getDiagnosisKey() { return diagnosisCode.map( s -> s + "|" + getIcdIndicator().map(IcdIndicator::getCode).orElse("")); } - Optional toFhirProcedure() { + public Optional toFhirProcedure() { return Optional.empty(); } - abstract Optional toFhirDiagnosis( + public abstract Optional toFhirDiagnosis( SequenceGenerator sequenceGenerator); - protected Optional buildBaseDiagnosis( + public Optional buildBaseDiagnosis( SequenceGenerator sequenceGenerator, String typeCode, String typeSystem) { if (diagnosisCode.isEmpty() || icdIndicator.isEmpty()) { return Optional.empty(); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcessDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimProcessDate.java similarity index 74% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcessDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimProcessDate.java index 93652187fc..768478ec43 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcessDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimProcessDate.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; @@ -8,12 +8,13 @@ import org.hl7.fhir.r4.model.DateType; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class ClaimProcessDate { +public class ClaimProcessDate { @Column(name = "clm_cms_proc_dt") private Optional claimProcessDate; - Optional toFhir( + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { return claimProcessDate.map( date -> diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcessingIndicatorCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimProcessingIndicatorCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcessingIndicatorCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimProcessingIndicatorCode.java index ed8a7b0e43..3510439bf5 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcessingIndicatorCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimProcessingIndicatorCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimQueryCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimQueryCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimQueryCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimQueryCode.java index a7db28bf10..6c17fbae96 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimQueryCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimQueryCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRecordType.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRecordType.java similarity index 96% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRecordType.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRecordType.java index 14bbd193cf..7a5130e1de 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRecordType.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRecordType.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRecordTypeCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRecordTypeCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRecordTypeCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRecordTypeCode.java index 79851cf795..e920922b56 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRecordTypeCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRecordTypeCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRelatedCondition.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRelatedCondition.java similarity index 70% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRelatedCondition.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRelatedCondition.java index b7cc21e57f..9c524f9722 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRelatedCondition.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRelatedCondition.java @@ -1,16 +1,17 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.util.Optional; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class ClaimRelatedCondition { +public class ClaimRelatedCondition { @Column(name = "clm_rlt_cond_cd") private Optional claimRelatedConditionCode; - Optional toFhir( + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { return claimRelatedConditionCode.map( diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRelatedConditionCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRelatedConditionCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRelatedConditionCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRelatedConditionCode.java index 5fd4a6024d..8d3365243d 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRelatedConditionCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRelatedConditionCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenueCenterStatusCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRevenueCenterStatusCode.java similarity index 77% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenueCenterStatusCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRevenueCenterStatusCode.java index 64c7a24f3b..e5c5a65a97 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenueCenterStatusCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimRevenueCenterStatusCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; @@ -14,7 +14,12 @@ public class ClaimRevenueCenterStatusCode { @Column(name = "clm_rev_cntr_stus_cd") private Optional revenueCenterStatusCode; - Optional toFhir() { + /** + * generates an extension with the coding code set to the revenue center status. + * + * @return Extension with revenue center status code + */ + public Optional toFhir() { return revenueCenterStatusCode.map( s -> new Extension() diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimServiceDeductibleCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimServiceDeductibleCode.java similarity index 97% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimServiceDeductibleCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimServiceDeductibleCode.java index 084a46fee1..a4d4bdf045 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimServiceDeductibleCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimServiceDeductibleCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSourceId.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSourceId.java similarity index 81% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSourceId.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSourceId.java index 26cdb0c41c..48d834924b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSourceId.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSourceId.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import java.util.Arrays; import java.util.Optional; @@ -41,7 +41,13 @@ public static ClaimSourceId fromId(String id) { .orElseThrow(() -> new IllegalArgumentException("Unknown ClaimSourceId: " + id)); } - Optional toFhirOutcome() { + /** + * switch statement for the value of the enum, returning status COMPLETE if + * NATIONAL_CLAIMS_HISTORY. + * + * @return eob.RemittanceOutcome + */ + public Optional toFhirOutcome() { return switch (this) { case NATIONAL_CLAIMS_HISTORY -> Optional.of(ExplanationOfBenefit.RemittanceOutcome.COMPLETE); default -> Optional.empty(); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimState.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimState.java similarity index 85% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimState.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimState.java index cc8ddd1fd1..20e012ea97 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimState.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimState.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.ClaimSecurityStatus; import lombok.Builder; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubmissionCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubmissionCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubmissionCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubmissionCode.java index 8af53fedbe..90a18ef3d1 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubmissionCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubmissionCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubmissionDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubmissionDate.java similarity index 66% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubmissionDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubmissionDate.java index 3181161335..2120123ccf 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubmissionDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubmissionDate.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; @@ -8,12 +8,19 @@ import org.hl7.fhir.r4.model.DateType; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** Claim Submission Date. */ @Embeddable -class ClaimSubmissionDate { +public class ClaimSubmissionDate { @Column(name = "clm_submsn_dt") private Optional claimSubmissionDate; - Optional toFhir( + /** + * add claim submission date to support information component. + * + * @param supportingInfoFactory supporting info factory + * @return the eob.SupportingInformationComponent + */ + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { if (claimSubmissionDate.isEmpty()) { return Optional.empty(); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubmissionFormatCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubmissionFormatCode.java similarity index 84% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubmissionFormatCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubmissionFormatCode.java index 0a60a8134f..3b9b90c7f4 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubmissionFormatCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubmissionFormatCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; @@ -42,7 +42,13 @@ public static Optional fromCode(String idrCode) { return Arrays.stream(values()).filter(v -> v.idrCode.equals(idrCode)).findFirst(); } - ExplanationOfBenefit.SupportingInformationComponent toFhir( + /** + * takes a supporting info factory to generate a component from display and code. + * + * @param supportingInfoFactory supporting info factory + * @return an eob.SupportingInformationComponent + */ + public ExplanationOfBenefit.SupportingInformationComponent toFhir( SupportingInfoFactory supportingInfoFactory) { return supportingInfoFactory .createSupportingInfo() diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubtype.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubtype.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubtype.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubtype.java index 36a30d5034..22c167df66 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSubtype.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSubtype.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSupplierTypeCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSupplierTypeCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSupplierTypeCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSupplierTypeCode.java index 96af161a4d..122148bbe3 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimSupplierTypeCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimSupplierTypeCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimType.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimType.java similarity index 62% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimType.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimType.java index 70497828bf..4d56395315 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimType.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimType.java @@ -1,20 +1,25 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import lombok.AllArgsConstructor; import lombok.Getter; import org.hl7.fhir.r4.model.Coding; +@SuppressWarnings({ + "checkstyle:JavadocVariable", + "checkstyle:MissingJavadocType", + "checkstyle:MissingJavadocMethod" +}) @Getter @AllArgsConstructor -enum ClaimType { +public enum ClaimType { PHARMACY("pharmacy"), INSTITUTIONAL("institutional"), PROFESSIONAL("professional"); private final String code; - Coding toFhir() { + public Coding toFhir() { return new Coding().setSystem(SystemUrls.HL7_CLAIM_TYPE).setCode(code); } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTypeCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimTypeCode.java similarity index 97% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTypeCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimTypeCode.java index 3db171c316..89d9a90c86 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTypeCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ClaimTypeCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; @@ -17,6 +17,7 @@ import org.hl7.fhir.r4.model.Reference; /** Claim type codes. */ +@SuppressWarnings("checkstyle:MissingJavadocMethod") @Getter @AllArgsConstructor public enum ClaimTypeCode { @@ -309,7 +310,7 @@ public static ClaimTypeCode fromCode(int code) { .get(code); } - Optional toContext() { + public Optional toContext() { if (isInstitutional()) { return Optional.of(ClaimContext.INSTITUTIONAL); } @@ -319,7 +320,7 @@ Optional toContext() { return Optional.empty(); } - CodeableConcept toFhirType() { + public CodeableConcept toFhirType() { var codeableConcept = new CodeableConcept( new Coding() @@ -331,11 +332,11 @@ CodeableConcept toFhirType() { return codeableConcept; } - Optional toFhirSubtype() { + public Optional toFhirSubtype() { return getGroupedClaimSubtype().map(ClaimSubtype::toFhir); } - Optional toFhirInsurerPartAB() { + public Optional toFhirInsurerPartAB() { if (isClaimSubtype(ClaimSubtype.PDE)) { return Optional.empty(); } @@ -346,7 +347,7 @@ Optional toFhirInsurerPartAB() { return Optional.of(organization); } - Optional toFhirInsurerPartD(String pbpName) { + public Optional toFhirInsurerPartD(String pbpName) { if (!isClaimSubtype(ClaimSubtype.PDE)) { return Optional.empty(); } @@ -357,14 +358,14 @@ Optional toFhirInsurerPartD(String pbpName) { return Optional.of(organization); } - ExplanationOfBenefit.InsuranceComponent toFhirPartDInsurance() { + public ExplanationOfBenefit.InsuranceComponent toFhirPartDInsurance() { var insurance = new ExplanationOfBenefit.InsuranceComponent(); insurance.setFocal(true); insurance.setCoverage(new Reference().setDisplay("Part D")); return insurance; } - ExplanationOfBenefit.InsuranceComponent toFhirInsurance( + public ExplanationOfBenefit.InsuranceComponent toFhirInsurance( Optional claimRecordType) { var insurance = new ExplanationOfBenefit.InsuranceComponent(); insurance.setFocal(true); @@ -380,7 +381,7 @@ ExplanationOfBenefit.InsuranceComponent toFhirInsurance( return insurance; } - Optional toFhirAdjudication() { + public Optional toFhirAdjudication() { if (isClaimSubtype(ClaimSubtype.PDE)) { return Optional.empty(); } @@ -403,15 +404,15 @@ Optional toFhirAdjudication() { return Optional.of(adjudication); } - boolean isClaimSubtype(ClaimSubtype subtype) { + public boolean isClaimSubtype(ClaimSubtype subtype) { return CLAIM_TYPE_CODE_MAP.getOrDefault(subtype, List.of()).contains(this); } - Optional toFhirStructureDefinition() { + public Optional toFhirStructureDefinition() { return getClaimSubtype().map(ClaimSubtype::getSystemUrl); } - private Optional getClaimType() { + public Optional getClaimType() { return getClaimSubtype().map(ClaimSubtype::getClaimType); } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/HhaReferralCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/HhaReferralCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/HhaReferralCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/HhaReferralCode.java index 066da45eb0..8f34bbe21a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/HhaReferralCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/HhaReferralCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/IcdIndicator.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/IcdIndicator.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/IcdIndicator.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/IcdIndicator.java index fdf46b4c7e..8a3bbfe1c6 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/IcdIndicator.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/IcdIndicator.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/Identifiers.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/Identifiers.java similarity index 87% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/Identifiers.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/Identifiers.java index a2fc7fc1df..c116e29528 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/Identifiers.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/Identifiers.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; @@ -12,8 +12,9 @@ import org.hl7.fhir.r4.model.ExplanationOfBenefit; import org.hl7.fhir.r4.model.Identifier; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class Identifiers { +public class Identifiers { @Column(name = "clm_uniq_id") private long claimUniqueId; @@ -50,6 +51,12 @@ public List toFhir(ClaimTypeCode claimTypeCode) { return identifiers; } + /** + * Maps original control number to RelatedClaimComponents. + * + * @param claimTypeCode the claim type code + * @return a list of fhir eob.relatedclaimcomponents + */ public Optional toFhirRelatedClaim( ClaimTypeCode claimTypeCode) { if (claimTypeCode.isClaimSubtype(ClaimSubtype.PDE)) { diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/IdrUnit.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/IdrUnit.java similarity index 95% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/IdrUnit.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/IdrUnit.java index 8550772519..e16a888b0c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/IdrUnit.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/IdrUnit.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/McoPaidSwitch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/McoPaidSwitch.java similarity index 97% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/McoPaidSwitch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/McoPaidSwitch.java index 560459bfc2..635a769bb1 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/McoPaidSwitch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/McoPaidSwitch.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/Meta.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/Meta.java similarity index 81% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/Meta.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/Meta.java index 098792d0db..ba005e2eef 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/Meta.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/Meta.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.ClaimSecurityStatus; import gov.cms.bfd.server.ng.util.DateUtil; @@ -7,13 +7,14 @@ import java.time.ZonedDateTime; import lombok.Getter; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable @Getter -class Meta { +public class Meta { @Column(name = "bfd_claim_updated_ts", nullable = false) private ZonedDateTime updatedTimestamp; - org.hl7.fhir.r4.model.Meta toFhir( + public org.hl7.fhir.r4.model.Meta toFhir( ClaimTypeCode claimTypeCode, ClaimSecurityStatus securityStatus, ClaimFinalAction finalAction, diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/MetaSourceSk.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/MetaSourceSk.java similarity index 97% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/MetaSourceSk.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/MetaSourceSk.java index c1eadd4c3b..3f45066a5e 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/MetaSourceSk.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/MetaSourceSk.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.IdrConstants; import gov.cms.bfd.server.ng.util.SystemUrls; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NchBenefitEnhancementSwitches.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/NchBenefitEnhancementSwitches.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NchBenefitEnhancementSwitches.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/NchBenefitEnhancementSwitches.java index bccbd70115..0f642a4c27 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NchBenefitEnhancementSwitches.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/NchBenefitEnhancementSwitches.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.converter.WhitespaceTrimConverter; import gov.cms.bfd.server.ng.util.SystemUrls; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NchPrimaryPayorCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/NchPrimaryPayorCode.java similarity index 67% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NchPrimaryPayorCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/NchPrimaryPayorCode.java index f0135b8015..4989ddf1f1 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NchPrimaryPayorCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/NchPrimaryPayorCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; @@ -9,13 +9,21 @@ import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The NCH Primary Payor Code. */ @Embeddable @Getter -class NchPrimaryPayorCode { +public class NchPrimaryPayorCode { @Column(name = "clm_nch_prmry_pyr_cd") private Optional nchPrimaryPayorCode; - Optional toFhir( + /** + * generates an eob supporting information component from the map of codes into a supporting info + * factory. + * + * @param supportingInfoFactory the supporting info factory + * @return an eob.SupportingInformationComponent + */ + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { return nchPrimaryPayorCode.map( code -> diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NchWeeklyProcessingDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/NchWeeklyProcessingDate.java similarity index 76% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NchWeeklyProcessingDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/NchWeeklyProcessingDate.java index ecb5bb2dc8..e5a9822247 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NchWeeklyProcessingDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/NchWeeklyProcessingDate.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; @@ -8,12 +8,13 @@ import org.hl7.fhir.r4.model.DateType; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class NchWeeklyProcessingDate { +public class NchWeeklyProcessingDate { @Column(name = "clm_nch_wkly_proc_dt") private Optional weeklyProcessingDate; - Optional toFhir( + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { if (weeklyProcessingDate.isEmpty()) { return Optional.empty(); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OrganizationFactory.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/OrganizationFactory.java similarity index 68% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OrganizationFactory.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/OrganizationFactory.java index fd0e6d33e1..cdf007dd0c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OrganizationFactory.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/OrganizationFactory.java @@ -1,13 +1,14 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import org.hl7.fhir.r4.model.Meta; import org.hl7.fhir.r4.model.Organization; -class OrganizationFactory { +@SuppressWarnings({"checkstyle:MissingJavadocType", "checkstyle:MissingJavadocMethod"}) +public class OrganizationFactory { private OrganizationFactory() {} - static Organization toFhir() { + public static Organization toFhir() { var organization = new Organization(); organization.setMeta( new Meta() diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PatientReferenceFactory.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PatientReferenceFactory.java similarity index 88% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PatientReferenceFactory.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PatientReferenceFactory.java index 78fc24851f..9eb9518f62 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PatientReferenceFactory.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PatientReferenceFactory.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import org.hl7.fhir.r4.model.Reference; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PatientStatusCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PatientStatusCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PatientStatusCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PatientStatusCode.java index 0737aafc43..f70239928f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PatientStatusCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PatientStatusCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PharmacySrvcTypeCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PharmacySrvcTypeCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PharmacySrvcTypeCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PharmacySrvcTypeCode.java index abe457906e..9e66bd5478 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PharmacySrvcTypeCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PharmacySrvcTypeCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PpsIndicatorCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PpsIndicatorCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PpsIndicatorCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PpsIndicatorCode.java index 2a9d9a9e30..06ec82ca91 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PpsIndicatorCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/PpsIndicatorCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderAssignmentIndicatorSwitch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderAssignmentIndicatorSwitch.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderAssignmentIndicatorSwitch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderAssignmentIndicatorSwitch.java index 3e184967fe..23dc64542f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderAssignmentIndicatorSwitch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderAssignmentIndicatorSwitch.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderFhirHelper.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderFhirHelper.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderFhirHelper.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderFhirHelper.java index 0b5b8d1167..a39f119680 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderFhirHelper.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderFhirHelper.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.List; @@ -16,7 +16,7 @@ * Helper class for converting provider data to FHIR resources. Centralizes common logic to avoid * duplication. */ -class ProviderFhirHelper { +public class ProviderFhirHelper { private ProviderFhirHelper() {} private static final String NPI_DISPLAY = "National provider identifier"; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderHistoryBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderHistoryBase.java similarity index 84% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderHistoryBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderHistoryBase.java index 5c5762ff44..6e66b17130 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderHistoryBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderHistoryBase.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.MappedSuperclass; @@ -11,6 +11,7 @@ import org.hl7.fhir.r4.model.Reference; /** Provider History. */ +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Getter @MappedSuperclass public abstract class ProviderHistoryBase { @@ -30,7 +31,7 @@ public enum NpiType { private final String type; - static NpiType fromNpiTypeCode(Optional npiTypeCode) { + public static NpiType fromNpiTypeCode(Optional npiTypeCode) { if (npiTypeCode.isPresent() && npiTypeCode.get().equals(2)) { return ORGANIZATION; } @@ -38,9 +39,9 @@ static NpiType fromNpiTypeCode(Optional npiTypeCode) { } } - protected abstract CareTeamType getCareTeamType(); + public abstract CareTeamType getCareTeamType(); - protected ProviderHistoryBase.NpiType getNpiType() { + public ProviderHistoryBase.NpiType getNpiType() { if (getProviderName().isEmpty()) { return ProviderHistoryBase.NpiType.ORGANIZATION; } else { @@ -48,7 +49,7 @@ protected ProviderHistoryBase.NpiType getNpiType() { } } - Optional toFhirCareTeamComponent( + public Optional toFhirCareTeamComponent( Integer sequence, Optional claimContext) { if (providerNpiNumber.isEmpty()) { return Optional.empty(); @@ -65,7 +66,7 @@ Optional toFhirCareTeamComponent( return getCareTeamComponent(sequence, providerReference); } - Optional getCareTeamComponent( + public Optional getCareTeamComponent( Integer sequence, Reference providerReference) { CodeableConcept roleConcept = new CodeableConcept(); // Always add THO coding diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderIdQualifierCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderIdQualifierCode.java similarity index 87% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderIdQualifierCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderIdQualifierCode.java index 2730745a59..15bf9ea624 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderIdQualifierCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderIdQualifierCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; @@ -54,7 +54,12 @@ public static Optional fromCodeOptional(String code) { return Optional.ofNullable(fromCode(code)); } - CodeableConcept toFhir() { + /** + * Convert code and display into a Coding for a new CodeableConcept. + * + * @return the CodeableConcept + */ + public CodeableConcept toFhir() { return new CodeableConcept( new Coding().setSystem(SystemUrls.CMS_PRVDR_ID_QLFYR_CD).setCode(code).setDisplay(display)); } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderSpecialtyCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderSpecialtyCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderSpecialtyCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderSpecialtyCode.java index 02dac2d88f..521b2f2c8f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ProviderSpecialtyCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ProviderSpecialtyCode.java @@ -1,6 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; -import static gov.cms.bfd.server.ng.claim.model.ProviderHistoryBase.NpiType.*; +import static gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase.NpiType.*; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; @@ -13,9 +13,9 @@ import org.hl7.fhir.r4.model.Extension; /** Maps internal provider specialty codes to NUCC taxonomy codes. */ +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "java:S1192"}) @Getter @AllArgsConstructor -@SuppressWarnings("java:S1192") public enum ProviderSpecialtyCode { /** 01 - GENERAL PRACTICE - 208D00000X. */ _01("01", "GENERAL PRACTICE", "208D00000X", INDIVIDUAL), @@ -341,7 +341,7 @@ public static Optional fromCodeOptional(String code) { return Optional.ofNullable(fromCode(code)); } - CodeableConcept toFhir() { + public CodeableConcept toFhir() { var codeableConcept = new CodeableConcept( new Coding().setSystem(SystemUrls.SYS_CLM_PRVDR_SPCLTY_CD).setCode(code)); @@ -352,7 +352,7 @@ CodeableConcept toFhir() { return codeableConcept; } - Extension toFhirExtension() { + public Extension toFhirExtension() { return new Extension(SystemUrls.EXT_CLM_PRVDR_SPCLTY_CD_URL) .setValue(new Coding(SystemUrls.SYS_CLM_PRVDR_SPCLTY_CD, code, display)); } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ReducedPaymentPhysicianAssistantCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ReducedPaymentPhysicianAssistantCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ReducedPaymentPhysicianAssistantCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ReducedPaymentPhysicianAssistantCode.java index ce6b5357b0..340489d792 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ReducedPaymentPhysicianAssistantCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/ReducedPaymentPhysicianAssistantCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RenderingCareTeamLine.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/RenderingCareTeamLine.java similarity index 86% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RenderingCareTeamLine.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/RenderingCareTeamLine.java index d0b1c992f1..198d857412 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RenderingCareTeamLine.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/RenderingCareTeamLine.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; @@ -14,7 +14,7 @@ public class RenderingCareTeamLine extends CareTeamBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.RENDERING; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RevenueCenterAnsiGroupCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/RevenueCenterAnsiGroupCode.java similarity index 98% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RevenueCenterAnsiGroupCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/RevenueCenterAnsiGroupCode.java index ea261c407e..57a9745431 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RevenueCenterAnsiGroupCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/RevenueCenterAnsiGroupCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RevenueCenterAnsiReasonCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/RevenueCenterAnsiReasonCode.java similarity index 99% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RevenueCenterAnsiReasonCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/RevenueCenterAnsiReasonCode.java index a0e59a0500..d72ced498a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RevenueCenterAnsiReasonCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/RevenueCenterAnsiReasonCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SupportingInfoComponentBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/SupportingInfoComponentBase.java similarity index 90% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SupportingInfoComponentBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/SupportingInfoComponentBase.java index fa743c3123..10231cd1a0 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SupportingInfoComponentBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/SupportingInfoComponentBase.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import java.util.List; import org.hl7.fhir.r4.model.ExplanationOfBenefit; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SupportingInfoFactory.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/SupportingInfoFactory.java similarity index 85% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SupportingInfoFactory.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/SupportingInfoFactory.java index 287a40d76a..159f70c6d4 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SupportingInfoFactory.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/SupportingInfoFactory.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import gov.cms.bfd.server.ng.util.SequenceGenerator; import org.hl7.fhir.r4.model.ExplanationOfBenefit; @@ -20,7 +20,7 @@ public SupportingInfoFactory() { * * @return a SupportingInformationComponent with its sequence property set */ - ExplanationOfBenefit.SupportingInformationComponent createSupportingInfo() { + public ExplanationOfBenefit.SupportingInformationComponent createSupportingInfo() { return new ExplanationOfBenefit.SupportingInformationComponent() .setSequence(sequenceGenerator.next()); } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SystemType.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/SystemType.java similarity index 97% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SystemType.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/SystemType.java index 3ca90e4d51..dd28df0935 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SystemType.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/SystemType.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import java.util.List; import lombok.AllArgsConstructor; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/USD.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/USD.java similarity index 81% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/USD.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/USD.java index 454786ee6a..f9e44b2901 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/USD.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/USD.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common; import java.math.BigDecimal; import org.hl7.fhir.r4.model.Money; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/entities/ClaimBase.java similarity index 78% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/entities/ClaimBase.java index 42755aa47c..f906aa2384 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/common/entities/ClaimBase.java @@ -1,7 +1,24 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.common.entities; import gov.cms.bfd.server.ng.ClaimFilterOptions; import gov.cms.bfd.server.ng.beneficiary.model.BeneficiarySimple; +import gov.cms.bfd.server.ng.claim.model.common.BillablePeriod; +import gov.cms.bfd.server.ng.claim.model.common.ClaimAdjustmentTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFinalAction; +import gov.cms.bfd.server.ng.claim.model.common.ClaimIDRLoadDate; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaidStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimState; +import gov.cms.bfd.server.ng.claim.model.common.ClaimTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.Identifiers; +import gov.cms.bfd.server.ng.claim.model.common.Meta; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.PatientReferenceFactory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; +import gov.cms.bfd.server.ng.claim.model.institutional.entities.ClaimInstitutionalCmsSharedSystems; +import gov.cms.bfd.server.ng.claim.model.professional.entities.ClaimProfessionalCmsSharedSystems; import gov.cms.bfd.server.ng.converter.DefaultFalseBooleanConverter; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; @@ -123,9 +140,19 @@ protected ExplanationOfBenefit sortedEob(ExplanationOfBenefit eob) { return eob; } - abstract ClaimSourceId getClaimSourceId(); + /** + * Return the claim source id. + * + * @return the claim source id, as defined by implemented classes + */ + public abstract ClaimSourceId getClaimSourceId(); - abstract MetaSourceSk getMetaSourceSk(); + /** + * Return the meta source of the claim. + * + * @return the meta source + */ + public abstract MetaSourceSk getMetaSourceSk(); /** * Returns the set of claim items associated with this claim. @@ -167,8 +194,9 @@ public Optional getClaimPaidStatusCode() { public void applyOutcomeOverride(ExplanationOfBenefit eob) { // Only Shared Systems claims derive outcome from CLM_PD_STUS_CD. Missing or unmapped paid // status codes are resolved as PARTIAL to match the outcome search filter behavior. - if (this instanceof ClaimInstitutionalSharedSystems - || this instanceof ClaimProfessionalSharedSystems) { + if (this instanceof ClaimInstitutionalCmsSharedSystems + || this instanceof ClaimProfessionalCmsSharedSystems) { + ClaimPaidStatusCode.resolveOutcome(getClaimPaidStatusCode()).ifPresent(eob::setOutcome); } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ActiveCareThroughDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ActiveCareThroughDate.java similarity index 81% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ActiveCareThroughDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ActiveCareThroughDate.java index 974fc2ec62..6320fa040a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ActiveCareThroughDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ActiveCareThroughDate.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeClaimValue.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeClaimValue.java similarity index 88% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeClaimValue.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeClaimValue.java index 3901141260..85befbd837 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeClaimValue.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeClaimValue.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import java.math.BigDecimal; import java.util.List; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeInstitutional.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeInstitutional.java similarity index 95% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeInstitutional.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeInstitutional.java index d961b15c0b..e25cb3ec81 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeInstitutional.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeInstitutional.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; @@ -9,9 +10,10 @@ import lombok.Getter; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable @Getter -class AdjudicationChargeInstitutional { +public class AdjudicationChargeInstitutional { @Column(name = "clm_mdcr_ip_lrd_use_cnt") private int lifetimeReserveDaysUsed; @@ -112,7 +114,7 @@ class AdjudicationChargeInstitutional { @Column(name = "clm_ss_outlier_std_pymt_amt") private BigDecimal shortStayOutlierPaymentAmount; - List toFhir(List claimValues) { + public List toFhir(List claimValues) { return Stream.of( AdjudicationChargeClaimValue.toFhir(claimValues), List.of( diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeInstitutionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeInstitutionalNch.java similarity index 85% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeInstitutionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeInstitutionalNch.java index e887bec43a..5930c15b48 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeInstitutionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeInstitutionalNch.java @@ -1,13 +1,16 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; import java.util.List; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The adjudication charge for an institutional claim from nch. */ @Embeddable -class AdjudicationChargeInstitutionalNch implements AdjudicationChargeBase { +public class AdjudicationChargeInstitutionalNch implements AdjudicationChargeBase { @Column(name = "clm_alowd_chrg_amt") private BigDecimal allowedChargeAmount; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeInstitutionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeInstitutionalSharedSystems.java similarity index 90% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeInstitutionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeInstitutionalSharedSystems.java index 19dcd6a98e..9ed40e696f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeInstitutionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdjudicationChargeInstitutionalSharedSystems.java @@ -1,13 +1,16 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; import java.util.List; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The adjudication charge in institutional claims from the shared system. */ @Embeddable -class AdjudicationChargeInstitutionalSharedSystems implements AdjudicationChargeBase { +public class AdjudicationChargeInstitutionalSharedSystems implements AdjudicationChargeBase { @Column(name = "clm_alowd_chrg_amt") private BigDecimal allowedChargeAmount; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdmissionPeriod.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdmissionPeriod.java similarity index 84% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdmissionPeriod.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdmissionPeriod.java index cd36dde366..8ece8acb3a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdmissionPeriod.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AdmissionPeriod.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CarinSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AttendingCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AttendingCareTeam.java similarity index 72% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AttendingCareTeam.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AttendingCareTeam.java index 20d1be8501..cbd238f954 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AttendingCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/AttendingCareTeam.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamBase; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -12,7 +14,7 @@ public class AttendingCareTeam extends CareTeamBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.ATTENDING; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BenefitsExhaustedDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/BenefitsExhaustedDate.java similarity index 66% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BenefitsExhaustedDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/BenefitsExhaustedDate.java index 9c4bc4942f..ab72d26e6d 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BenefitsExhaustedDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/BenefitsExhaustedDate.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -8,12 +10,13 @@ import org.hl7.fhir.r4.model.DateType; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class BenefitsExhaustedDate { +public class BenefitsExhaustedDate { @Column(name = "clm_mdcr_exhstd_dt") private Optional benefitsExhaustedDate; - Optional toFhir( + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { if (benefitsExhaustedDate.isEmpty()) { return Optional.empty(); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillingProviderInstitutional.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/BillingProviderInstitutional.java similarity index 89% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillingProviderInstitutional.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/BillingProviderInstitutional.java index 2e9b9ecf95..4290686b8f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillingProviderInstitutional.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/BillingProviderInstitutional.java @@ -1,5 +1,8 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ProviderFhirHelper; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; @@ -29,7 +32,7 @@ public class BillingProviderInstitutional extends ProviderHistoryBase { private Optional providerOscarNumber; @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.BILLING; } @@ -41,6 +44,7 @@ protected CareTeamType getCareTeamType() { * @return the NPI type */ @Transient + @Override public ProviderHistoryBase.NpiType getNpiType() { if (providerFirstName.isEmpty()) { return ProviderHistoryBase.NpiType.ORGANIZATION; @@ -56,7 +60,7 @@ public ProviderHistoryBase.NpiType getNpiType() { * @return an Optional containing a bundle resource with either the Organization or Practitioner, * or empty if NPI number is not present. */ - Optional toFhirNpiType() { + public Optional toFhirNpiType() { return getProviderNpiNumber() .map( npi -> diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillingProviderSsaStateCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/BillingProviderSsaStateCode.java similarity index 84% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillingProviderSsaStateCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/BillingProviderSsaStateCode.java index 8138739baa..822e4c206d 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillingProviderSsaStateCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/BillingProviderSsaStateCode.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.SsaToFipsStateCode; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAnsiSignature.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimAnsiSignature.java similarity index 84% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAnsiSignature.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimAnsiSignature.java index 5d4eddded6..6eddf2720f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimAnsiSignature.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimAnsiSignature.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.RevenueCenterAnsiGroupCode; +import gov.cms.bfd.server.ng.claim.model.common.RevenueCenterAnsiReasonCode; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -12,6 +14,7 @@ import org.hl7.fhir.r4.model.ExplanationOfBenefit; /** Claim ANSI signature table. */ +@SuppressWarnings("checkstyle:MissingJavadocMethod") @Embeddable @Getter public class ClaimAnsiSignature { @@ -25,7 +28,7 @@ Optional toFhir() { return toAdjudicationComponent(revenueCenterAnsiGroupCode1, revenueCenterAnsiReasonCode1); } - private Optional toAdjudicationComponent( + public Optional toAdjudicationComponent( Optional groupOpt, Optional reasonOpt) { var groupCodings = diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDateInstitutionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimDateInstitutionalSharedSystems.java similarity index 64% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDateInstitutionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimDateInstitutionalSharedSystems.java index 5717321319..36a96110e1 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDateInstitutionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimDateInstitutionalSharedSystems.java @@ -1,5 +1,9 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcessDate; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubmissionDate; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoComponentBase; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import jakarta.persistence.Embeddable; import jakarta.persistence.Embedded; import java.util.List; @@ -7,8 +11,9 @@ import java.util.stream.Stream; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The claim date for institutional claims in the shared system. */ @Embeddable -class ClaimDateInstitutionalSharedSystems implements SupportingInfoComponentBase { +public class ClaimDateInstitutionalSharedSystems implements SupportingInfoComponentBase { @Embedded private AdmissionPeriod admissionPeriod; @Embedded private ClaimSubmissionDate claimSubmissionDate; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDateSupportingInfo.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimDateSupportingInfo.java similarity index 75% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDateSupportingInfo.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimDateSupportingInfo.java index caff405d59..e876437092 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDateSupportingInfo.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimDateSupportingInfo.java @@ -1,5 +1,10 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcessDate; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubmissionDate; +import gov.cms.bfd.server.ng.claim.model.common.NchWeeklyProcessingDate; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoComponentBase; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import jakarta.persistence.Embeddable; import jakarta.persistence.Embedded; import java.util.List; @@ -7,8 +12,9 @@ import java.util.stream.Stream; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The claim date for a supporting info component. */ @Embeddable -class ClaimDateSupportingInfo implements SupportingInfoComponentBase { +public class ClaimDateSupportingInfo implements SupportingInfoComponentBase { @Embedded private AdmissionPeriod admissionPeriod; @Embedded private ClaimSubmissionDate claimSubmissionDate; @Embedded private NchWeeklyProcessingDate nchWeeklyProcessingDate; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalNchSupportingInfo.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimInstitutionalNchSupportingInfo.java similarity index 73% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalNchSupportingInfo.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimInstitutionalNchSupportingInfo.java index 292b780774..589522cd39 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalNchSupportingInfo.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimInstitutionalNchSupportingInfo.java @@ -1,5 +1,10 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.ClaimOutpatientServiceTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.HhaReferralCode; +import gov.cms.bfd.server.ng.claim.model.common.PpsIndicatorCode; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoComponentBase; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import jakarta.persistence.Embedded; @@ -9,9 +14,10 @@ import lombok.Getter; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The supporting info for an institutional claim from nch. */ @Embeddable @Getter -class ClaimInstitutionalNchSupportingInfo implements SupportingInfoComponentBase { +public class ClaimInstitutionalNchSupportingInfo implements SupportingInfoComponentBase { @Column(name = "clm_hha_lup_ind_cd") private Optional hhaLupaIndicatorCode; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalSupportingInfoBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimInstitutionalSupportingInfoBase.java similarity index 67% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalSupportingInfoBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimInstitutionalSupportingInfoBase.java index 96121cc807..c72e5543fa 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalSupportingInfoBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimInstitutionalSupportingInfoBase.java @@ -1,5 +1,13 @@ -package gov.cms.bfd.server.ng.claim.model; - +package gov.cms.bfd.server.ng.claim.model.institutional; + +import gov.cms.bfd.server.ng.claim.model.common.ClaimAdmissionSourceCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimAdmissionTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFiscalIntermediaryActionCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimNonpaymentReasonCode; +import gov.cms.bfd.server.ng.claim.model.common.McoPaidSwitch; +import gov.cms.bfd.server.ng.claim.model.common.PatientStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoComponentBase; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.util.List; @@ -8,9 +16,10 @@ import lombok.Getter; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The institutional supporting info base. */ @Embeddable @Getter -class ClaimInstitutionalSupportingInfoBase implements SupportingInfoComponentBase { +public class ClaimInstitutionalSupportingInfoBase implements SupportingInfoComponentBase { @Column(name = "clm_admsn_src_cd") private Optional claimAdmissionSourceCode; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeInstitutionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineAdjudicationChargeInstitutionalNch.java similarity index 96% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeInstitutionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineAdjudicationChargeInstitutionalNch.java index 46ce7390bd..c14ac08f88 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeInstitutionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineAdjudicationChargeInstitutionalNch.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeInstitutionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineAdjudicationChargeInstitutionalSharedSystems.java similarity index 96% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeInstitutionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineAdjudicationChargeInstitutionalSharedSystems.java index 7973d0e4fb..8e8ee43df7 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeInstitutionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineAdjudicationChargeInstitutionalSharedSystems.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHippsCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineHippsCode.java similarity index 63% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHippsCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineHippsCode.java index 31ff2b71dc..5fdabf71ce 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHippsCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineHippsCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; @@ -6,12 +6,13 @@ import java.util.Optional; import org.hl7.fhir.r4.model.Coding; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class ClaimLineHippsCode { +public class ClaimLineHippsCode { @Column(name = "clm_rev_apc_hipps_cd") private Optional hippsCode; - Optional toFhir() { + public Optional toFhir() { return hippsCode.map(s -> new Coding().setSystem(SystemUrls.CMS_HIPPS).setCode(s)); } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalBase.java similarity index 85% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalBase.java index d3806d665b..e5179e88c4 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalBase.java @@ -1,6 +1,16 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import gov.cms.bfd.server.ng.ClaimFilterOptions; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineDeductibleCoinsuranceCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsModifierCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineNdc; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineRevenueCenterCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineServiceUnitQuantity; +import gov.cms.bfd.server.ng.claim.model.common.RenderingCareTeamLine; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.converter.NonZeroIntConverter; import gov.cms.bfd.server.ng.util.DateUtil; import gov.cms.bfd.server.ng.util.FhirUtil; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalExtensions.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalExtensions.java similarity index 93% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalExtensions.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalExtensions.java index 2ba20a9825..2077b571f5 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalExtensions.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalExtensions.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import jakarta.persistence.Embeddable; import jakarta.persistence.Embedded; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalNch.java similarity index 94% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalNch.java index d7b3518387..f6324fb7c3 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalNch.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalNchExtensions.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalNchExtensions.java similarity index 84% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalNchExtensions.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalNchExtensions.java index a41793a9d7..cccf9abf8a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalNchExtensions.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalNchExtensions.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRevenueCenterStatusCode; import jakarta.persistence.Embeddable; import jakarta.persistence.Embedded; import java.util.List; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalSharedSystems.java similarity index 92% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalSharedSystems.java index addf41b1b5..b24bb1a844 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimLineInstitutionalSharedSystems.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimObligatedToAcceptAsFinalOneIndicatorCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimObligatedToAcceptAsFinalOneIndicatorCode.java similarity index 93% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimObligatedToAcceptAsFinalOneIndicatorCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimObligatedToAcceptAsFinalOneIndicatorCode.java index 7df5b7c7ee..7c09eea5e2 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimObligatedToAcceptAsFinalOneIndicatorCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimObligatedToAcceptAsFinalOneIndicatorCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcedureInstitutional.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimProcedureInstitutional.java similarity index 94% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcedureInstitutional.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimProcedureInstitutional.java index c23d7570cf..b786d42cd8 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcedureInstitutional.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimProcedureInstitutional.java @@ -1,6 +1,8 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import gov.cms.bfd.server.ng.claim.converter.ClaimPoaIndicatorConverter; +import gov.cms.bfd.server.ng.claim.model.common.ClaimDiagnosisType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; import gov.cms.bfd.server.ng.util.DateUtil; import gov.cms.bfd.server.ng.util.SequenceGenerator; import gov.cms.bfd.server.ng.util.SystemUrls; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenueDiscountIndicatorCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimRevenueDiscountIndicatorCode.java similarity index 93% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenueDiscountIndicatorCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimRevenueDiscountIndicatorCode.java index 1138e34368..8b65d58151 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenueDiscountIndicatorCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimRevenueDiscountIndicatorCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenuePackageIndicatorCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimRevenuePackageIndicatorCode.java similarity index 93% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenuePackageIndicatorCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimRevenuePackageIndicatorCode.java index db58ed72ed..4b6daf9f14 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenuePackageIndicatorCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimRevenuePackageIndicatorCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenuePaymentMethodCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimRevenuePaymentMethodCode.java similarity index 94% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenuePaymentMethodCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimRevenuePaymentMethodCode.java index 8d2ae5ea90..85e3e9978d 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRevenuePaymentMethodCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimRevenuePaymentMethodCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import gov.cms.bfd.server.ng.converter.WhitespaceTrimConverter; import gov.cms.bfd.server.ng.util.SystemUrls; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimValue.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimValue.java similarity index 89% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimValue.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimValue.java index 657ec9aaac..457e33e6b9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimValue.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ClaimValue.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; import gov.cms.bfd.server.ng.converter.NonZeroIntConverter; import jakarta.persistence.Column; @@ -8,9 +8,10 @@ import java.util.Optional; import lombok.Getter; +@SuppressWarnings("checkstyle:MissingJavadocType") @Getter @Embeddable -class ClaimValue { +public class ClaimValue { @Convert(converter = NonZeroIntConverter.class) @Column(name = "clm_val_sqnc_num_val") private Optional sequenceNumber; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/DiagnosisDrgCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/DiagnosisDrgCode.java similarity index 73% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/DiagnosisDrgCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/DiagnosisDrgCode.java index 9fbb8887c7..000a504358 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/DiagnosisDrgCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/DiagnosisDrgCode.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CarinSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.converter.NonZeroIntConverter; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; @@ -11,14 +13,15 @@ import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable @Getter -class DiagnosisDrgCode { +public class DiagnosisDrgCode { @Convert(converter = NonZeroIntConverter.class) @Column(name = "dgns_drg_cd") // SAMHSA private Optional diagnosisDrgCode; - Optional toFhir( + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { if (diagnosisDrgCode.isEmpty()) { return Optional.empty(); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/HhaLupaIndicatorCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/HhaLupaIndicatorCode.java similarity index 92% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/HhaLupaIndicatorCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/HhaLupaIndicatorCode.java index 8dea613c4a..1f9ce45db7 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/HhaLupaIndicatorCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/HhaLupaIndicatorCode.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NoncoveredFromDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/NoncoveredFromDate.java similarity index 81% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NoncoveredFromDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/NoncoveredFromDate.java index 0724193d0a..292c9e8875 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NoncoveredFromDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/NoncoveredFromDate.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NoncoveredThroughDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/NoncoveredThroughDate.java similarity index 81% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NoncoveredThroughDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/NoncoveredThroughDate.java index 643226fead..9399796526 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/NoncoveredThroughDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/NoncoveredThroughDate.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OperatingCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/OperatingCareTeam.java similarity index 72% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OperatingCareTeam.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/OperatingCareTeam.java index d62bfbe78c..c450be2b2c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OperatingCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/OperatingCareTeam.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamBase; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -12,7 +14,7 @@ public class OperatingCareTeam extends CareTeamBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.OPERATING; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherInstitutionalCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/OtherInstitutionalCareTeam.java similarity index 72% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherInstitutionalCareTeam.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/OtherInstitutionalCareTeam.java index 737b0b5388..ce46906e75 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherInstitutionalCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/OtherInstitutionalCareTeam.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamBase; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -12,7 +14,7 @@ public class OtherInstitutionalCareTeam extends CareTeamBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.OTHER; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/QualifyStayFromDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/QualifyStayFromDate.java similarity index 82% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/QualifyStayFromDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/QualifyStayFromDate.java index 6767f1a0e4..a6c16e117f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/QualifyStayFromDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/QualifyStayFromDate.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/QualifyStayThruDate.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/QualifyStayThruDate.java similarity index 82% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/QualifyStayThruDate.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/QualifyStayThruDate.java index 8b6fa5617b..3e5be193a6 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/QualifyStayThruDate.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/QualifyStayThruDate.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.Column; import java.time.LocalDate; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ReferringInstitutionalCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ReferringInstitutionalCareTeam.java similarity index 72% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ReferringInstitutionalCareTeam.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ReferringInstitutionalCareTeam.java index d3192f4b8c..0b21c3fb5c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ReferringInstitutionalCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ReferringInstitutionalCareTeam.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamBase; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -12,7 +14,7 @@ public class ReferringInstitutionalCareTeam extends CareTeamBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.REFERRING; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RenderingCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/RenderingCareTeam.java similarity index 72% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RenderingCareTeam.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/RenderingCareTeam.java index 2f6b6336fc..f0e761cbb0 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RenderingCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/RenderingCareTeam.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamBase; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -12,7 +14,7 @@ public class RenderingCareTeam extends CareTeamBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.RENDERING; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ServiceCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ServiceCareTeam.java similarity index 67% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ServiceCareTeam.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ServiceCareTeam.java index 1560927ee9..defa34cf0d 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ServiceCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/ServiceCareTeam.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -11,7 +13,7 @@ public class ServiceCareTeam extends ProviderHistoryBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.SERVICE; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/TypeOfBillCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/TypeOfBillCode.java similarity index 86% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/TypeOfBillCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/TypeOfBillCode.java index ea3ebbfda7..6ca3f3da8a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/TypeOfBillCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/TypeOfBillCode.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional; +import gov.cms.bfd.server.ng.claim.model.common.CarinSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -8,8 +10,9 @@ import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class TypeOfBillCode { +public class TypeOfBillCode { @Column(name = "clm_bill_fac_type_cd") private Optional facilityTypeCode; @@ -19,7 +22,7 @@ class TypeOfBillCode { @Column(name = "clm_bill_freq_cd") private Optional billFrequencyCode; - Optional toFhir( + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { var billClassificationCodeNormalized = billClassificationCode.orElse(""); var facilityTypeCodeNormalized = facilityTypeCode.orElse(""); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBase.java similarity index 82% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBase.java index f0eb79300d..d0ea419345 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBase.java @@ -1,8 +1,31 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional.entities; -import static gov.cms.bfd.server.ng.claim.model.ClaimDiagnosisType.*; +import static gov.cms.bfd.server.ng.claim.model.common.ClaimDiagnosisType.*; import gov.cms.bfd.server.ng.ClaimFilterOptions; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; +import gov.cms.bfd.server.ng.claim.model.common.BenefitEnhancementCodes; +import gov.cms.bfd.server.ng.claim.model.common.ClaimContractorNumber; +import gov.cms.bfd.server.ng.claim.model.common.ClaimDispositionCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaymentAmount; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimQueryCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimState; +import gov.cms.bfd.server.ng.claim.model.common.NchPrimaryPayorCode; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoComponentBase; +import gov.cms.bfd.server.ng.claim.model.common.entities.ClaimBase; +import gov.cms.bfd.server.ng.claim.model.institutional.AdjudicationChargeInstitutional; +import gov.cms.bfd.server.ng.claim.model.institutional.AttendingCareTeam; +import gov.cms.bfd.server.ng.claim.model.institutional.BillingProviderInstitutional; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimValue; +import gov.cms.bfd.server.ng.claim.model.institutional.DiagnosisDrgCode; +import gov.cms.bfd.server.ng.claim.model.institutional.OperatingCareTeam; +import gov.cms.bfd.server.ng.claim.model.institutional.OtherInstitutionalCareTeam; +import gov.cms.bfd.server.ng.claim.model.institutional.ReferringInstitutionalCareTeam; +import gov.cms.bfd.server.ng.claim.model.institutional.RenderingCareTeam; +import gov.cms.bfd.server.ng.claim.model.institutional.TypeOfBillCode; import gov.cms.bfd.server.ng.util.SequenceGenerator; import jakarta.persistence.Column; import jakarta.persistence.Embedded; @@ -66,7 +89,7 @@ public abstract class ClaimInstitutionalBase extends ClaimBase { * * @return list of ClaimValues from each item */ - protected abstract List getClaimValues(); + public abstract List getClaimValues(); /** * Adds care-team members that are unique to the subclass. diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBasisBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBasisBase.java new file mode 100644 index 0000000000..c95af76b78 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBasisBase.java @@ -0,0 +1,80 @@ +package gov.cms.bfd.server.ng.claim.model.institutional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoComponentBase; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimValue; +import gov.cms.bfd.server.ng.util.SequenceGenerator; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.SortedSet; +import javax.annotation.processing.Generated; +import org.hl7.fhir.r4.model.ExplanationOfBenefit; + +/** the institutional claim basis profile base. */ +@Generated("TODO - Remove after query optimization implementation") +public abstract class ClaimInstitutionalBasisBase extends ClaimInstitutionalBase { + @Override + SupportingInfoComponentBase getClaimDateSupportingInfo() { + return null; + } + + @Override + SupportingInfoComponentBase getSupportingInfo() { + return null; + } + + @Override + AdjudicationChargeBase getAdjudicationCharge() { + return null; + } + + @Override + List buildSubclassSupportingInfo() { + return List.of(); + } + + @Override + Optional getClaimRecordTypeOptional() { + return Optional.empty(); + } + + @Override + protected List + buildRecordTypeSupportingInfo() { + return List.of(); + } + + @Override + public List getClaimValues() { + return List.of(); + } + + @Override + void addSubclassCareTeam(ExplanationOfBenefit eob, SequenceGenerator sequenceGenerator) {} + + @Override + public ClaimSourceId getClaimSourceId() { + return null; + } + + @Override + public MetaSourceSk getMetaSourceSk() { + return null; + } + + @Override + public SortedSet getItems() { + return Collections.emptySortedSet(); + } + + @Override + public Optional getClaimRelatedCondition() { + return Optional.empty(); + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBasisNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBasisNch.java new file mode 100644 index 0000000000..3d41e285a3 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBasisNch.java @@ -0,0 +1,13 @@ +package gov.cms.bfd.server.ng.claim.model.institutional.entities; + +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import javax.annotation.processing.Generated; +import lombok.Getter; + +/** the institutional claim, basis profile, from nch. */ +@Getter +@Entity +@Table(name = "claim_institutional_nch", schema = "idr") +@Generated("TODO - Remove after query optimization implementation") +public class ClaimInstitutionalBasisNch extends ClaimInstitutionalBasisBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBasisSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBasisSharedSystems.java new file mode 100644 index 0000000000..3ee99d0ccc --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalBasisSharedSystems.java @@ -0,0 +1,13 @@ +package gov.cms.bfd.server.ng.claim.model.institutional.entities; + +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import javax.annotation.processing.Generated; +import lombok.Getter; + +/** the institutional claim, basis profile, from shared systems. */ +@Getter +@Entity +@Table(name = "claim_institutional_ss", schema = "idr") +@Generated("TODO - Remove after query optimization implementation") +public class ClaimInstitutionalBasisSharedSystems extends ClaimInstitutionalBasisBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalCmsBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalCmsBase.java new file mode 100644 index 0000000000..4fa397a9f1 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalCmsBase.java @@ -0,0 +1,82 @@ +package gov.cms.bfd.server.ng.claim.model.institutional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoComponentBase; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimValue; +import gov.cms.bfd.server.ng.util.SequenceGenerator; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.SortedSet; +import javax.annotation.processing.Generated; +import org.hl7.fhir.r4.model.ExplanationOfBenefit; + +/** The institutional claim, full (CMS) profile base class. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimInstitutionalCmsBase extends ClaimInstitutionalBase { + @Override + SupportingInfoComponentBase getClaimDateSupportingInfo() { + return null; + } + + @Override + SupportingInfoComponentBase getSupportingInfo() { + return null; + } + + @Override + AdjudicationChargeBase getAdjudicationCharge() { + return null; + } + + @Override + List buildSubclassSupportingInfo() { + return List.of(); + } + + @Override + Optional getClaimRecordTypeOptional() { + return Optional.empty(); + } + + @Override + protected List + buildRecordTypeSupportingInfo() { + return List.of(); + } + + @Override + public List getClaimValues() { + return List.of(); + } + + @Override + void addSubclassCareTeam(ExplanationOfBenefit eob, SequenceGenerator sequenceGenerator) { + // Empty + } + + @Override + public ClaimSourceId getClaimSourceId() { + return null; + } + + @Override + public MetaSourceSk getMetaSourceSk() { + return null; + } + + @Override + public SortedSet getItems() { + return Collections.emptySortedSet(); + } + + @Override + public Optional getClaimRelatedCondition() { + return Optional.empty(); + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalCmsNch.java similarity index 74% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalCmsNch.java index 8755f2ec83..f1ca62ba63 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalCmsNch.java @@ -1,5 +1,18 @@ -package gov.cms.bfd.server.ng.claim.model; - +package gov.cms.bfd.server.ng.claim.model.institutional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.BloodPints; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.NchBenefitEnhancementSwitches; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; +import gov.cms.bfd.server.ng.claim.model.institutional.AdjudicationChargeInstitutionalNch; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimDateSupportingInfo; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimInstitutionalNchSupportingInfo; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimValue; +import gov.cms.bfd.server.ng.claim.model.institutional.ServiceCareTeam; import gov.cms.bfd.server.ng.util.SequenceGenerator; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; @@ -28,7 +41,7 @@ @Entity @Table(name = "claim_institutional_nch", schema = "idr") @SuppressWarnings({"java:S2293"}) -public class ClaimInstitutionalNch extends ClaimInstitutionalBase { +public class ClaimInstitutionalCmsNch extends ClaimInstitutionalBase { @Embedded private ClaimDateSupportingInfo claimDateSupportingInfo; @Embedded private AdjudicationChargeInstitutionalNch adjudicationCharge; @@ -65,12 +78,12 @@ public class ClaimInstitutionalNch extends ClaimInstitutionalBase { } @Override - ClaimSourceId getClaimSourceId() { + public ClaimSourceId getClaimSourceId() { return ClaimSourceId.NATIONAL_CLAIMS_HISTORY; } @Override - MetaSourceSk getMetaSourceSk() { + public MetaSourceSk getMetaSourceSk() { return MetaSourceSk.NCH; } @@ -80,7 +93,7 @@ Optional getClaimRecordTypeOptional() { } @Override - protected List getClaimValues() { + public List getClaimValues() { return getClaimItems().stream().map(ClaimItemInstitutionalNch::getClaimValue).toList(); } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalCmsSharedSystems.java similarity index 79% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalCmsSharedSystems.java index a067aa9f47..8b03bebb89 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimInstitutionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalCmsSharedSystems.java @@ -1,5 +1,18 @@ -package gov.cms.bfd.server.ng.claim.model; - +package gov.cms.bfd.server.ng.claim.model.institutional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.ClaimAuditTrailLocationCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimAuditTrailStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaidStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; +import gov.cms.bfd.server.ng.claim.model.institutional.AdjudicationChargeInstitutionalSharedSystems; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimDateInstitutionalSharedSystems; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimInstitutionalSupportingInfoBase; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimValue; import gov.cms.bfd.server.ng.converter.ClaimPaidStatusCodeConverter; import gov.cms.bfd.server.ng.util.SequenceGenerator; import jakarta.persistence.AttributeOverride; @@ -29,7 +42,7 @@ @Entity @Table(name = "claim_institutional_ss", schema = "idr") @SuppressWarnings({"java:S6539", "java:S2293"}) -public class ClaimInstitutionalSharedSystems extends ClaimInstitutionalBase { +public class ClaimInstitutionalCmsSharedSystems extends ClaimInstitutionalBase { @Embedded private ClaimDateInstitutionalSharedSystems claimDateSupportingInfo; @Embedded private AdjudicationChargeInstitutionalSharedSystems adjudicationCharge; @@ -69,7 +82,7 @@ Optional getClaimRecordTypeOptional() { } @Override - protected List getClaimValues() { + public List getClaimValues() { return getClaimItems().stream() .map(ClaimItemInstitutionalSharedSystems::getClaimValue) .toList(); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalRegularBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalRegularBase.java new file mode 100644 index 0000000000..7c2668fbf8 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalRegularBase.java @@ -0,0 +1,80 @@ +package gov.cms.bfd.server.ng.claim.model.institutional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoComponentBase; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimValue; +import gov.cms.bfd.server.ng.util.SequenceGenerator; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.SortedSet; +import javax.annotation.processing.Generated; +import org.hl7.fhir.r4.model.ExplanationOfBenefit; + +/** The institutional claim, regular profile base class. */ +@Generated("TODO - Remove after query optimization implementation") +public abstract class ClaimInstitutionalRegularBase extends ClaimInstitutionalBase { + @Override + SupportingInfoComponentBase getClaimDateSupportingInfo() { + return null; + } + + @Override + SupportingInfoComponentBase getSupportingInfo() { + return null; + } + + @Override + AdjudicationChargeBase getAdjudicationCharge() { + return null; + } + + @Override + List buildSubclassSupportingInfo() { + return List.of(); + } + + @Override + Optional getClaimRecordTypeOptional() { + return Optional.empty(); + } + + @Override + protected List + buildRecordTypeSupportingInfo() { + return List.of(); + } + + @Override + public List getClaimValues() { + return List.of(); + } + + @Override + void addSubclassCareTeam(ExplanationOfBenefit eob, SequenceGenerator sequenceGenerator) {} + + @Override + public ClaimSourceId getClaimSourceId() { + return null; + } + + @Override + public MetaSourceSk getMetaSourceSk() { + return null; + } + + @Override + public SortedSet getItems() { + return Collections.emptySortedSet(); + } + + @Override + public Optional getClaimRelatedCondition() { + return Optional.empty(); + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalRegularNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalRegularNch.java new file mode 100644 index 0000000000..abed40b210 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalRegularNch.java @@ -0,0 +1,7 @@ +package gov.cms.bfd.server.ng.claim.model.institutional.entities; + +import javax.annotation.processing.Generated; + +/** The institutional claim, regular profile, sourced from nch. */ +@Generated("TODO - Remove after query optimization implementation") +public abstract class ClaimInstitutionalRegularNch extends ClaimInstitutionalRegularBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalRegularSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalRegularSharedSystems.java new file mode 100644 index 0000000000..8d55a9e1ed --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimInstitutionalRegularSharedSystems.java @@ -0,0 +1,7 @@ +package gov.cms.bfd.server.ng.claim.model.institutional.entities; + +import javax.annotation.processing.Generated; + +/** The institutional claim, regular profile, sourced from shared systems. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimInstitutionalRegularSharedSystems extends ClaimInstitutionalRegularBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemInstitutionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimItemInstitutionalNch.java similarity index 62% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemInstitutionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimItemInstitutionalNch.java index f6eb24b02e..4f7f9b97ee 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemInstitutionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimItemInstitutionalNch.java @@ -1,5 +1,12 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional.entities; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimLineInstitutionalNch; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimProcedureInstitutional; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimValue; import jakarta.persistence.Embedded; import jakarta.persistence.EmbeddedId; import jakarta.persistence.Entity; @@ -23,7 +30,7 @@ public class ClaimItemInstitutionalNch implements ClaimItemBase { @JoinColumn(name = "clm_uniq_id") @ManyToOne - private ClaimInstitutionalNch claim; + private ClaimInstitutionalCmsNch claim; @Override public Optional getProcedure() { diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemInstitutionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimItemInstitutionalSharedSystems.java similarity index 62% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemInstitutionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimItemInstitutionalSharedSystems.java index d894d23b9f..65784f5ad6 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemInstitutionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/institutional/entities/ClaimItemInstitutionalSharedSystems.java @@ -1,5 +1,12 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.institutional.entities; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimLineInstitutionalSharedSystems; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimProcedureInstitutional; +import gov.cms.bfd.server.ng.claim.model.institutional.ClaimValue; import jakarta.persistence.Embedded; import jakarta.persistence.EmbeddedId; import jakarta.persistence.Entity; @@ -23,7 +30,7 @@ public class ClaimItemInstitutionalSharedSystems implements ClaimItemBase { @JoinColumn(name = "clm_uniq_id") @ManyToOne - private ClaimInstitutionalSharedSystems claim; + private ClaimInstitutionalCmsSharedSystems claim; @Override public Optional getProcedure() { diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeProfessionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/AdjudicationChargeProfessionalNch.java similarity index 78% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeProfessionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/AdjudicationChargeProfessionalNch.java index 2bffff0c9f..4c36f48cb9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeProfessionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/AdjudicationChargeProfessionalNch.java @@ -1,13 +1,16 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; import java.util.List; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The adjudication charge for a professional claim from nch. */ @Embeddable -class AdjudicationChargeProfessionalNch implements AdjudicationChargeBase { +public class AdjudicationChargeProfessionalNch implements AdjudicationChargeBase { @Column(name = "clm_alowd_chrg_amt") private BigDecimal allowedChargeAmount; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeProfessionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/AdjudicationChargeProfessionalSharedSystems.java similarity index 90% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeProfessionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/AdjudicationChargeProfessionalSharedSystems.java index 53106a87e3..8fa915f7c6 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeProfessionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/AdjudicationChargeProfessionalSharedSystems.java @@ -1,13 +1,16 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; import java.util.List; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The adjudication charge for a professional claim from the shared system. */ @Embeddable -class AdjudicationChargeProfessionalSharedSystems implements AdjudicationChargeBase { +public class AdjudicationChargeProfessionalSharedSystems implements AdjudicationChargeBase { @Column(name = "clm_alowd_chrg_amt") private BigDecimal allowedChargeAmount; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillingProviderProfessional.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/BillingProviderProfessional.java similarity index 88% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillingProviderProfessional.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/BillingProviderProfessional.java index bc6b9b73a5..b814130acc 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/BillingProviderProfessional.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/BillingProviderProfessional.java @@ -1,5 +1,8 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ProviderFhirHelper; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; @@ -27,7 +30,7 @@ public class BillingProviderProfessional extends ProviderHistoryBase { private Optional providerTaxNumber; @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.BILLING; } @@ -39,6 +42,7 @@ protected CareTeamType getCareTeamType() { * @return the NPI type */ @Transient + @Override public ProviderHistoryBase.NpiType getNpiType() { if (providerFirstName.isEmpty()) { return ProviderHistoryBase.NpiType.ORGANIZATION; @@ -54,7 +58,7 @@ public ProviderHistoryBase.NpiType getNpiType() { * @return an Optional containing a bundle resource with either the Organization or Practitioner, * or empty if NPI number is not present. */ - Optional toFhirNpiType() { + public Optional toFhirNpiType() { return getProviderNpiNumber() .map( npi -> @@ -75,7 +79,7 @@ private Practitioner createBillingPractitioner(String npiNumber) { return practitioner; } - HumanName toFhirName() { + private HumanName toFhirName() { var name = new HumanName(); providerFirstName.ifPresent(name::addGiven); getProviderName().ifPresent(name::setFamily); diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeProfessionalBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineAdjudicationChargeProfessionalBase.java similarity index 90% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeProfessionalBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineAdjudicationChargeProfessionalBase.java index a662f819f9..95123f361c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeProfessionalBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineAdjudicationChargeProfessionalBase.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; import jakarta.persistence.MappedSuperclass; @@ -10,8 +11,9 @@ import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @MappedSuperclass -abstract class ClaimLineAdjudicationChargeProfessionalBase { +public abstract class ClaimLineAdjudicationChargeProfessionalBase { @Column(name = "clm_line_alowd_chrg_amt") private BigDecimal allowedChargeAmount; @@ -40,7 +42,7 @@ abstract class ClaimLineAdjudicationChargeProfessionalBase { @Column(name = "clm_line_prfnl_dme_price_amt") private BigDecimal purchasePriceAmount; - List toFhir() { + public List toFhir() { var benefitPaymentStatus = new ExplanationOfBenefit.AdjudicationComponent(); benefitPaymentStatus.setCategory( new CodeableConcept() diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeProfessionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineAdjudicationChargeProfessionalNch.java similarity index 91% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeProfessionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineAdjudicationChargeProfessionalNch.java index 92f07bc921..ef8941b96f 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeProfessionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineAdjudicationChargeProfessionalNch.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeProfessionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineAdjudicationChargeProfessionalSharedSystems.java similarity index 83% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeProfessionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineAdjudicationChargeProfessionalSharedSystems.java index 7e859cf014..4706622913 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeProfessionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineAdjudicationChargeProfessionalSharedSystems.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHCTHGBTestTypeCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineHCTHGBTestTypeCode.java similarity index 94% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHCTHGBTestTypeCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineHCTHGBTestTypeCode.java index ca5de5f22c..f8fb0d6be0 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineHCTHGBTestTypeCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineHCTHGBTestTypeCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalBase.java similarity index 86% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalBase.java index 4b0d092eca..2b7987c848 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalBase.java @@ -1,6 +1,15 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; import gov.cms.bfd.server.ng.ClaimFilterOptions; +import gov.cms.bfd.server.ng.claim.model.common.BenefitEnhancementCodes; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsModifierCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineServiceUnitQuantity; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPlaceOfServiceCode; +import gov.cms.bfd.server.ng.claim.model.common.RenderingCareTeamLine; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.converter.NonZeroIntConverter; import gov.cms.bfd.server.ng.util.DateUtil; import jakarta.persistence.AttributeOverride; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalExtensions.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalExtensions.java similarity index 74% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalExtensions.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalExtensions.java index 0b62911489..0e9e48b553 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalExtensions.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalExtensions.java @@ -1,6 +1,11 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; import gov.cms.bfd.server.ng.ClaimFilterOptions; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFederalTypeOfServiceCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaymentCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimServiceDeductibleCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSupplierTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ProviderSpecialtyCode; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import jakarta.persistence.Embedded; @@ -10,6 +15,7 @@ import org.hl7.fhir.r4.model.Extension; /** Embedded container for professional claim line extensions. */ +@SuppressWarnings("checkstyle:MissingJavadocMethod") @Embeddable public class ClaimLineProfessionalExtensions { @@ -30,7 +36,7 @@ public class ClaimLineProfessionalExtensions { @Embedded ClaimTaxNumberCode claimTaxNumberCode; - List toFhir(ClaimFilterOptions options) { + public List toFhir(ClaimFilterOptions options) { return Stream.of( supplierTypeCode.map(ClaimSupplierTypeCode::toFhir), federalTypeOfServiceCode.map(ClaimFederalTypeOfServiceCode::toFhir), diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalNch.java similarity index 95% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalNch.java index 0d7bd75595..fc4ea36f2b 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalNch.java @@ -1,6 +1,9 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; import gov.cms.bfd.server.ng.ClaimFilterOptions; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBase; +import gov.cms.bfd.server.ng.claim.model.common.NchBenefitEnhancementSwitches; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.converter.NonZeroDoubleConverter; import gov.cms.bfd.server.ng.util.FhirUtil; import gov.cms.bfd.server.ng.util.SystemUrls; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalNchExtensions.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalNchExtensions.java similarity index 83% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalNchExtensions.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalNchExtensions.java index 6bd747d9c4..3ff87bf0c4 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalNchExtensions.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalNchExtensions.java @@ -1,5 +1,11 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.CarrierLineMTUSIndicatorCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPricingLocalityCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPrimaryPayerCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcessingIndicatorCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSupplierTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.ReducedPaymentPhysicianAssistantCode; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalSharedSystems.java similarity index 91% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalSharedSystems.java index 5278f626d9..a09d1f1787 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineProfessionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimLineProfessionalSharedSystems.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineNdc; import gov.cms.bfd.server.ng.util.FhirUtil; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcedureProfessional.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimProcedureProfessional.java similarity index 84% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcedureProfessional.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimProcedureProfessional.java index cdda36026b..692b8c7f55 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProcedureProfessional.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimProcedureProfessional.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.ClaimDiagnosisType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; import gov.cms.bfd.server.ng.util.SequenceGenerator; import jakarta.persistence.Embeddable; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTaxNumberCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimTaxNumberCode.java similarity index 95% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTaxNumberCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimTaxNumberCode.java index 4f3f6b5ea8..30c0631434 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimTaxNumberCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClaimTaxNumberCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClinicalTrialNumber.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClinicalTrialNumber.java similarity index 60% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClinicalTrialNumber.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClinicalTrialNumber.java index 808c092477..c36e8d8a7a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClinicalTrialNumber.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ClinicalTrialNumber.java @@ -1,17 +1,20 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.util.Optional; import org.hl7.fhir.r4.model.ExplanationOfBenefit; import org.hl7.fhir.r4.model.StringType; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class ClinicalTrialNumber { +public class ClinicalTrialNumber { @Column(name = "clm_clncl_tril_num") private Optional clinicalTrialNum; - Optional toFhir( + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { return clinicalTrialNum.map( trialNumber -> diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/HealthProfessionalShortageAreaScarcityCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/HealthProfessionalShortageAreaScarcityCode.java similarity index 97% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/HealthProfessionalShortageAreaScarcityCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/HealthProfessionalShortageAreaScarcityCode.java index b659d7b9e0..d8c8935eb5 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/HealthProfessionalShortageAreaScarcityCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/HealthProfessionalShortageAreaScarcityCode.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherProfessionalSharedSystemsCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/OtherProfessionalSharedSystemsCareTeam.java similarity index 68% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherProfessionalSharedSystemsCareTeam.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/OtherProfessionalSharedSystemsCareTeam.java index 3fe0075bc5..91dc89fef7 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/OtherProfessionalSharedSystemsCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/OtherProfessionalSharedSystemsCareTeam.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -11,7 +13,7 @@ public class OtherProfessionalSharedSystemsCareTeam extends ProviderHistoryBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.SUPERVISOR; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ReferringProfessionalCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ReferringProfessionalCareTeam.java similarity index 68% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ReferringProfessionalCareTeam.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ReferringProfessionalCareTeam.java index f1e580cfc9..b12c42717c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ReferringProfessionalCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/ReferringProfessionalCareTeam.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -11,7 +13,7 @@ public class ReferringProfessionalCareTeam extends ProviderHistoryBase { @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.REFERRING; } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RenderingProviderSsaStateCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/RenderingProviderSsaStateCode.java similarity index 84% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RenderingProviderSsaStateCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/RenderingProviderSsaStateCode.java index 7c651a5984..215a1f9e78 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/RenderingProviderSsaStateCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/RenderingProviderSsaStateCode.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.SsaToFipsStateCode; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalBasisNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalBasisNch.java new file mode 100644 index 0000000000..cb39980e8e --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalBasisNch.java @@ -0,0 +1,33 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import java.util.Optional; +import javax.annotation.processing.Generated; + +/** LineItem for a professional claim, basis profile, sourced from nch. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimItemProfessionalBasisNch implements ClaimItemBase { + @Override + public ClaimItemId getClaimItemId() { + return null; + } + + @Override + public Optional getProcedure() { + return Optional.empty(); + } + + @Override + public Optional getClaimLineHcpcsCode() { + return Optional.empty(); + } + + @Override + public ClaimLineBase getClaimLine() { + return null; + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalBasisSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalBasisSharedSystems.java new file mode 100644 index 0000000000..c84326b03a --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalBasisSharedSystems.java @@ -0,0 +1,33 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import java.util.Optional; +import javax.annotation.processing.Generated; + +/** LineItem for a professional claim, basis profile, sourced from shared systems. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimItemProfessionalBasisSharedSystems implements ClaimItemBase { + @Override + public ClaimItemId getClaimItemId() { + return null; + } + + @Override + public Optional getProcedure() { + return Optional.empty(); + } + + @Override + public Optional getClaimLineHcpcsCode() { + return Optional.empty(); + } + + @Override + public ClaimLineBase getClaimLine() { + return null; + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemProfessionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalCmsNch.java similarity index 59% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemProfessionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalCmsNch.java index fa5194a5fe..0dc8dc6c22 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemProfessionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalCmsNch.java @@ -1,5 +1,11 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional.entities; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import gov.cms.bfd.server.ng.claim.model.professional.ClaimLineProfessionalNch; +import gov.cms.bfd.server.ng.claim.model.professional.ClaimProcedureProfessional; import jakarta.persistence.Embedded; import jakarta.persistence.EmbeddedId; import jakarta.persistence.Entity; @@ -15,14 +21,14 @@ @Entity @EqualsAndHashCode @Table(name = "claim_item_professional_nch", schema = "idr") -public class ClaimItemProfessionalNch implements ClaimItemBase { +public class ClaimItemProfessionalCmsNch implements ClaimItemBase { @EmbeddedId private ClaimItemId claimItemId; @Embedded private ClaimLineProfessionalNch claimLine; @Embedded private ClaimProcedureProfessional claimProcedure; @JoinColumn(name = "clm_uniq_id") @ManyToOne - private ClaimProfessionalNch claim; + private ClaimProfessionalCmsNch claim; @Override public Optional getProcedure() { diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemProfessionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalCmsSharedSystems.java similarity index 57% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemProfessionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalCmsSharedSystems.java index 1e3b4de0fc..30f066ac2e 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemProfessionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalCmsSharedSystems.java @@ -1,5 +1,12 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional.entities; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineRxNumber; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import gov.cms.bfd.server.ng.claim.model.professional.ClaimLineProfessionalSharedSystems; +import gov.cms.bfd.server.ng.claim.model.professional.ClaimProcedureProfessional; import jakarta.persistence.Embedded; import jakarta.persistence.EmbeddedId; import jakarta.persistence.Entity; @@ -15,7 +22,7 @@ @Entity @EqualsAndHashCode @Table(name = "claim_item_professional_ss", schema = "idr") -public class ClaimItemProfessionalSharedSystems implements ClaimItemBase { +public class ClaimItemProfessionalCmsSharedSystems implements ClaimItemBase { @EmbeddedId private ClaimItemId claimItemId; @Embedded private ClaimLineProfessionalSharedSystems claimLine; @Embedded private ClaimProcedureProfessional claimProcedure; @@ -23,7 +30,7 @@ public class ClaimItemProfessionalSharedSystems implements ClaimItemBase { @JoinColumn(name = "clm_uniq_id") @ManyToOne - private ClaimProfessionalSharedSystems claim; + private ClaimProfessionalCmsSharedSystems claim; @Override public Optional getProcedure() { diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalRegularNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalRegularNch.java new file mode 100644 index 0000000000..77b9fb7ca9 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalRegularNch.java @@ -0,0 +1,33 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import java.util.Optional; +import javax.annotation.processing.Generated; + +/** LineItem for a professional claim, regular profile, sourced from nch. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimItemProfessionalRegularNch implements ClaimItemBase { + @Override + public ClaimItemId getClaimItemId() { + return null; + } + + @Override + public Optional getProcedure() { + return Optional.empty(); + } + + @Override + public Optional getClaimLineHcpcsCode() { + return Optional.empty(); + } + + @Override + public ClaimLineBase getClaimLine() { + return null; + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalRegularSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalRegularSharedSystems.java new file mode 100644 index 0000000000..fbfde2d59d --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimItemProfessionalRegularSharedSystems.java @@ -0,0 +1,33 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import java.util.Optional; +import javax.annotation.processing.Generated; + +/** LineItem for a professional claim, regular profile, sourced from shared systems. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimItemProfessionalRegularSharedSystems implements ClaimItemBase { + @Override + public ClaimItemId getClaimItemId() { + return null; + } + + @Override + public Optional getProcedure() { + return Optional.empty(); + } + + @Override + public Optional getClaimLineHcpcsCode() { + return Optional.empty(); + } + + @Override + public ClaimLineBase getClaimLine() { + return null; + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProfessionalBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBase.java similarity index 88% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProfessionalBase.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBase.java index 31bfc86e29..2c4fd3d236 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProfessionalBase.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBase.java @@ -1,6 +1,18 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.professional.entities; import gov.cms.bfd.server.ng.ClaimFilterOptions; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimContractorNumber; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaymentAmount; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimState; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubmissionDate; +import gov.cms.bfd.server.ng.claim.model.common.entities.ClaimBase; +import gov.cms.bfd.server.ng.claim.model.professional.BillingProviderProfessional; +import gov.cms.bfd.server.ng.claim.model.professional.ClinicalTrialNumber; +import gov.cms.bfd.server.ng.claim.model.professional.ReferringProfessionalCareTeam; import gov.cms.bfd.server.ng.util.SequenceGenerator; import jakarta.persistence.Column; import jakarta.persistence.Embedded; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBasisBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBasisBase.java new file mode 100644 index 0000000000..59771cb55b --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBasisBase.java @@ -0,0 +1,61 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.util.SequenceGenerator; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.SortedSet; +import javax.annotation.processing.Generated; +import org.hl7.fhir.r4.model.ExplanationOfBenefit; + +/** Shared base for regular profile professional claims. */ +@Generated("TODO - Remove after query optimization implementation") +public abstract class ClaimProfessionalBasisBase extends ClaimProfessionalBase { + + @Override + AdjudicationChargeBase getAdjudicationCharge() { + return null; + } + + @Override + List buildSubclassSupportingInfo() { + return List.of(); + } + + @Override + void addSubclassAdjudication(ExplanationOfBenefit eob) {} + + @Override + void addSubclassCareTeam(ExplanationOfBenefit eob, SequenceGenerator sequenceGenerator) {} + + @Override + Optional getClaimRecordTypeOptional() { + return Optional.empty(); + } + + @Override + public ClaimSourceId getClaimSourceId() { + return null; + } + + @Override + public MetaSourceSk getMetaSourceSk() { + return null; + } + + @Override + public SortedSet getItems() { + return Collections.emptySortedSet(); + } + + @Override + public Optional getClaimRelatedCondition() { + return Optional.empty(); + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBasisNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBasisNch.java new file mode 100644 index 0000000000..933f57a1cd --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBasisNch.java @@ -0,0 +1,7 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import javax.annotation.processing.Generated; + +/** The professional claim, basis profile, sourced from nch. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimProfessionalBasisNch extends ClaimProfessionalBasisBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBasisSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBasisSharedSystems.java new file mode 100644 index 0000000000..073ee55785 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalBasisSharedSystems.java @@ -0,0 +1,7 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import javax.annotation.processing.Generated; + +/** The professional claim, basis profile, sourced from shared system. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimProfessionalBasisSharedSystems extends ClaimProfessionalBasisBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalCmsBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalCmsBase.java new file mode 100644 index 0000000000..86a6831a11 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalCmsBase.java @@ -0,0 +1,60 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.util.SequenceGenerator; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.SortedSet; +import javax.annotation.processing.Generated; +import org.hl7.fhir.r4.model.ExplanationOfBenefit; + +/** Shared base for CMS profile professional claim types (NCH and Shared Systems). */ +@Generated("TODO - Remove after query optimization implementation") +public abstract class ClaimProfessionalCmsBase extends ClaimProfessionalBase { + @Override + AdjudicationChargeBase getAdjudicationCharge() { + return null; + } + + @Override + List buildSubclassSupportingInfo() { + return List.of(); + } + + @Override + void addSubclassAdjudication(ExplanationOfBenefit eob) {} + + @Override + void addSubclassCareTeam(ExplanationOfBenefit eob, SequenceGenerator sequenceGenerator) {} + + @Override + Optional getClaimRecordTypeOptional() { + return Optional.empty(); + } + + @Override + public ClaimSourceId getClaimSourceId() { + return null; + } + + @Override + public MetaSourceSk getMetaSourceSk() { + return null; + } + + @Override + public SortedSet getItems() { + return Collections.emptySortedSet(); + } + + @Override + public Optional getClaimRelatedCondition() { + return Optional.empty(); + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProfessionalNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalCmsNch.java similarity index 75% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProfessionalNch.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalCmsNch.java index 739462dfb5..09904ffb43 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProfessionalNch.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalCmsNch.java @@ -1,5 +1,18 @@ -package gov.cms.bfd.server.ng.claim.model; - +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; +import gov.cms.bfd.server.ng.claim.model.common.BloodPints; +import gov.cms.bfd.server.ng.claim.model.common.ClaimDispositionCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaymentDenialCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimQueryCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.NchWeeklyProcessingDate; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; +import gov.cms.bfd.server.ng.claim.model.professional.AdjudicationChargeProfessionalNch; import gov.cms.bfd.server.ng.util.SequenceGenerator; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; @@ -28,7 +41,7 @@ @Entity @Table(name = "claim_professional_nch", schema = "idr") @SuppressWarnings({"JpaAttributeTypeInspection", "java:S2293"}) -public class ClaimProfessionalNch extends ClaimProfessionalBase { +public class ClaimProfessionalCmsNch extends ClaimProfessionalBase { @Column(name = "clm_disp_cd") private Optional claimDispositionCode; @@ -52,7 +65,7 @@ public class ClaimProfessionalNch extends ClaimProfessionalBase { @OneToMany(fetch = FetchType.EAGER) @JoinColumn(name = "clm_uniq_id") - private SortedSet claimItems; + private SortedSet claimItems; @Override protected List @@ -80,12 +93,12 @@ protected void addSubclassAdjudication(ExplanationOfBenefit eob) { } @Override - ClaimSourceId getClaimSourceId() { + public ClaimSourceId getClaimSourceId() { return ClaimSourceId.NATIONAL_CLAIMS_HISTORY; } @Override - MetaSourceSk getMetaSourceSk() { + public MetaSourceSk getMetaSourceSk() { return MetaSourceSk.NCH; } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProfessionalSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalCmsSharedSystems.java similarity index 79% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProfessionalSharedSystems.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalCmsSharedSystems.java index f0cba99143..c61288938c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimProfessionalSharedSystems.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalCmsSharedSystems.java @@ -1,7 +1,22 @@ -package gov.cms.bfd.server.ng.claim.model; - -import static gov.cms.bfd.server.ng.claim.model.ClaimSubtype.PDE; - +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import static gov.cms.bfd.server.ng.claim.model.common.ClaimSubtype.PDE; + +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimAuditTrailLocationCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimAuditTrailStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaidStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubmissionFormatCode; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.NchPrimaryPayorCode; +import gov.cms.bfd.server.ng.claim.model.common.ProviderAssignmentIndicatorSwitch; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; +import gov.cms.bfd.server.ng.claim.model.professional.AdjudicationChargeProfessionalSharedSystems; +import gov.cms.bfd.server.ng.claim.model.professional.OtherProfessionalSharedSystemsCareTeam; import gov.cms.bfd.server.ng.converter.ClaimPaidStatusCodeConverter; import gov.cms.bfd.server.ng.util.SequenceGenerator; import jakarta.persistence.Column; @@ -31,7 +46,7 @@ @Entity @Table(name = "claim_professional_ss", schema = "idr") @SuppressWarnings({"JpaAttributeTypeInspection", "java:S2293"}) -public class ClaimProfessionalSharedSystems extends ClaimProfessionalBase { +public class ClaimProfessionalCmsSharedSystems extends ClaimProfessionalBase { @Column(name = "clm_sbmt_frmt_cd") private Optional claimFormatCode; @@ -60,7 +75,7 @@ public class ClaimProfessionalSharedSystems extends ClaimProfessionalBase { @OneToMany(fetch = FetchType.EAGER) @JoinColumn(name = "clm_uniq_id") - private SortedSet claimItems; + private SortedSet claimItems; @Column(name = "clm_pd_stus_cd") @Convert(converter = ClaimPaidStatusCodeConverter.class) diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalRegularBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalRegularBase.java new file mode 100644 index 0000000000..0f6162dedc --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalRegularBase.java @@ -0,0 +1,60 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRecordType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.util.SequenceGenerator; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.SortedSet; +import javax.annotation.processing.Generated; +import org.hl7.fhir.r4.model.ExplanationOfBenefit; + +/** Shared base for regular profile professional claims. */ +@Generated("TODO - Remove after query optimization implementation") +public abstract class ClaimProfessionalRegularBase extends ClaimProfessionalBase { + @Override + AdjudicationChargeBase getAdjudicationCharge() { + return null; + } + + @Override + List buildSubclassSupportingInfo() { + return List.of(); + } + + @Override + void addSubclassAdjudication(ExplanationOfBenefit eob) {} + + @Override + void addSubclassCareTeam(ExplanationOfBenefit eob, SequenceGenerator sequenceGenerator) {} + + @Override + Optional getClaimRecordTypeOptional() { + return Optional.empty(); + } + + @Override + public ClaimSourceId getClaimSourceId() { + return null; + } + + @Override + public MetaSourceSk getMetaSourceSk() { + return null; + } + + @Override + public SortedSet getItems() { + return Collections.emptySortedSet(); + } + + @Override + public Optional getClaimRelatedCondition() { + return Optional.empty(); + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalRegularNch.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalRegularNch.java new file mode 100644 index 0000000000..321ad3718d --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalRegularNch.java @@ -0,0 +1,7 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import javax.annotation.processing.Generated; + +/** The professional claim, regular profile, sourced from nch. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimProfessionalRegularNch extends ClaimProfessionalRegularBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalRegularSharedSystems.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalRegularSharedSystems.java new file mode 100644 index 0000000000..2b33e6fcaa --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/professional/entities/ClaimProfessionalRegularSharedSystems.java @@ -0,0 +1,7 @@ +package gov.cms.bfd.server.ng.claim.model.professional.entities; + +import javax.annotation.processing.Generated; + +/** The professional claim, regular profile, sourced from shared systems. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimProfessionalRegularSharedSystems extends ClaimProfessionalRegularBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeRx.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/AdjudicationChargeRx.java similarity index 71% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeRx.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/AdjudicationChargeRx.java index b80a362512..729f7b39eb 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/AdjudicationChargeRx.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/AdjudicationChargeRx.java @@ -1,13 +1,16 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeBase; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.math.BigDecimal; import java.util.List; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +/** The adjudication charge for a pharmacy claim. */ @Embeddable -class AdjudicationChargeRx implements AdjudicationChargeBase { +public class AdjudicationChargeRx implements AdjudicationChargeBase { @Column(name = "clm_bene_pmt_amt") private BigDecimal benePaymentAmount; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDispenseAsWrittenCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimDispenseAsWrittenCode.java similarity index 92% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDispenseAsWrittenCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimDispenseAsWrittenCode.java index 613f0c59c1..6603789a00 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimDispenseAsWrittenCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimDispenseAsWrittenCode.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.CarinSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemRx.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimItemRx.java similarity index 62% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemRx.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimItemRx.java index 834c29b40f..22c6d71504 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimItemRx.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimItemRx.java @@ -1,5 +1,10 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineRxNumber; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; import jakarta.persistence.Embeddable; import jakarta.persistence.Embedded; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeRx.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineAdjudicationChargeRx.java similarity index 55% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeRx.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineAdjudicationChargeRx.java index 068e3d9243..d4330ecfbb 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineAdjudicationChargeRx.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineAdjudicationChargeRx.java @@ -1,5 +1,6 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import jakarta.persistence.Transient; @@ -9,8 +10,9 @@ import java.util.stream.Stream; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable -class ClaimLineAdjudicationChargeRx { +public class ClaimLineAdjudicationChargeRx { @Column(name = "clm_line_ingrdnt_cst_amt") private BigDecimal ingredientCostAmount; @@ -45,23 +47,19 @@ public BigDecimal getTotalDrugCost() { .reduce(BigDecimal.ZERO, BigDecimal::add); } - ArrayList toFhir() { - var adjudicationComponent = - new ArrayList<>( - List.of( - AdjudicationChargeType.PATIENT_LIABILITY_REDUCT_AMOUNT.toFhirAdjudication( - patientLiabReductPaidAmount), - AdjudicationChargeType.LOW_INCOME_COST_SHARE_SUB_AMOUNT.toFhirAdjudication( - lowIncomeCostShareSubAmount), - AdjudicationChargeType.GROSS_DRUG_COST_BLW_THRESHOLD_AMOUNT.toFhirAdjudication( - grossCostBelowThresholdAmount), - AdjudicationChargeType.GROSS_DRUG_COST_ABOVE_THRESHOLD_AMOUNT.toFhirAdjudication( - grossCostAboveThresholdAmount), - AdjudicationChargeType.LINE_RX_REPORTED_GAP_DISCOUNT_AMOUNT.toFhirAdjudication( - reportedGapDiscountAmount), - AdjudicationChargeType.TOTAL_DRUG_COST_AMOUNT.toFhirAdjudication( - getTotalDrugCost()))); - - return adjudicationComponent; + public List toFhir() { + return new ArrayList<>( + List.of( + AdjudicationChargeType.PATIENT_LIABILITY_REDUCT_AMOUNT.toFhirAdjudication( + patientLiabReductPaidAmount), + AdjudicationChargeType.LOW_INCOME_COST_SHARE_SUB_AMOUNT.toFhirAdjudication( + lowIncomeCostShareSubAmount), + AdjudicationChargeType.GROSS_DRUG_COST_BLW_THRESHOLD_AMOUNT.toFhirAdjudication( + grossCostBelowThresholdAmount), + AdjudicationChargeType.GROSS_DRUG_COST_ABOVE_THRESHOLD_AMOUNT.toFhirAdjudication( + grossCostAboveThresholdAmount), + AdjudicationChargeType.LINE_RX_REPORTED_GAP_DISCOUNT_AMOUNT.toFhirAdjudication( + reportedGapDiscountAmount), + AdjudicationChargeType.TOTAL_DRUG_COST_AMOUNT.toFhirAdjudication(getTotalDrugCost()))); } } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRx.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRx.java similarity index 86% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRx.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRx.java index 755fc178d6..e065647e08 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRx.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRx.java @@ -1,6 +1,11 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; import gov.cms.bfd.server.ng.ClaimFilterOptions; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineNdc; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineServiceUnitQuantity; +import gov.cms.bfd.server.ng.claim.model.common.RenderingCareTeamLine; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.DateUtil; import gov.cms.bfd.server.ng.util.FhirUtil; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxDaysSupplyQuantity.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRxDaysSupplyQuantity.java similarity index 76% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxDaysSupplyQuantity.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRxDaysSupplyQuantity.java index 163fad92d4..c0c6c5f067 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxDaysSupplyQuantity.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRxDaysSupplyQuantity.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.CarinSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import org.hl7.fhir.r4.model.ExplanationOfBenefit; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxFillNumber.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRxFillNumber.java similarity index 75% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxFillNumber.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRxFillNumber.java index 40117ee3d4..d024422a11 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxFillNumber.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRxFillNumber.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.CarinSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import org.hl7.fhir.r4.model.ExplanationOfBenefit; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxSupportingInfo.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRxSupportingInfo.java similarity index 77% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxSupportingInfo.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRxSupportingInfo.java index a17df6c113..b38ec01726 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineRxSupportingInfo.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ClaimLineRxSupportingInfo.java @@ -1,5 +1,13 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.CatastrophicCoverageCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineBrandGenericCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineCompoundCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPatientResidenceCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPrescriptionOriginCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubmissionCode; +import gov.cms.bfd.server.ng.claim.model.common.PharmacySrvcTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -11,9 +19,10 @@ import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.ExplanationOfBenefit; +@SuppressWarnings({"checkstyle:MissingJavadocMethod", "checkstyle:MissingJavadocType"}) @Embeddable @Getter -class ClaimLineRxSupportingInfo { +public class ClaimLineRxSupportingInfo { @Column(name = "clm_phrmcy_srvc_type_cd") private Optional pharmacyServiceTypeCode; @@ -45,7 +54,7 @@ class ClaimLineRxSupportingInfo { @Column(name = "clm_ctstrphc_cvrg_ind_cd") private Optional catastrophicCovCode; - List toFhir( + public List toFhir( SupportingInfoFactory supportingInfoFactory) { return Stream.of( pharmacyServiceTypeCode.map(c -> c.toFhir(supportingInfoFactory)), diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/DrugCoverageStatusCode.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/DrugCoverageStatusCode.java similarity index 93% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/DrugCoverageStatusCode.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/DrugCoverageStatusCode.java index bcd1ffe027..d44d7d1145 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/DrugCoverageStatusCode.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/DrugCoverageStatusCode.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import gov.cms.bfd.server.ng.util.SystemUrls; import java.util.Arrays; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PrescribingCareTeam.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/PrescribingCareTeam.java similarity index 72% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PrescribingCareTeam.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/PrescribingCareTeam.java index 9012810ad4..83e7fe045c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/PrescribingCareTeam.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/PrescribingCareTeam.java @@ -1,5 +1,10 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimContext; +import gov.cms.bfd.server.ng.claim.model.common.ProviderFhirHelper; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; +import gov.cms.bfd.server.ng.claim.model.common.ProviderIdQualifierCode; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -20,12 +25,12 @@ public class PrescribingCareTeam extends ProviderHistoryBase { private Optional providerQualifierCode; @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.PRESCRIBING; } @Override - Optional toFhirCareTeamComponent( + public Optional toFhirCareTeamComponent( Integer sequence, Optional claimContext) { return getProviderNpiNumber() diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ServiceProviderPharmacy.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ServiceProviderPharmacy.java similarity index 86% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ServiceProviderPharmacy.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ServiceProviderPharmacy.java index d9307ee227..b0c0f6223a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ServiceProviderPharmacy.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/ServiceProviderPharmacy.java @@ -1,5 +1,9 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.CareTeamType; +import gov.cms.bfd.server.ng.claim.model.common.ProviderFhirHelper; +import gov.cms.bfd.server.ng.claim.model.common.ProviderHistoryBase; +import gov.cms.bfd.server.ng.claim.model.common.ProviderIdQualifierCode; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; @@ -27,13 +31,13 @@ public class ServiceProviderPharmacy extends ProviderHistoryBase { private Optional providerQualifierCode; @Override - protected CareTeamType getCareTeamType() { + public CareTeamType getCareTeamType() { return CareTeamType.SERVICE; } @Override @Transient - protected ProviderHistoryBase.NpiType getNpiType() { + public ProviderHistoryBase.NpiType getNpiType() { if (providerFirstName.isEmpty() || getProviderNpiNumber().isEmpty()) { return ProviderHistoryBase.NpiType.ORGANIZATION; } else { @@ -48,7 +52,7 @@ protected ProviderHistoryBase.NpiType getNpiType() { * @return an Optional containing a bundle resource with either the Organization or Practitioner, * or empty if NPI number is not present. */ - Optional toFhirNpiType() { + public Optional toFhirNpiType() { return getProviderNpiNumber() .map( npi -> diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SubmitterContractNumber.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/SubmitterContractNumber.java similarity index 67% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SubmitterContractNumber.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/SubmitterContractNumber.java index f8d96a392e..83d3bd2758 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SubmitterContractNumber.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/SubmitterContractNumber.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.util.Optional; @@ -12,7 +14,8 @@ public class SubmitterContractNumber { @Column(name = "clm_sbmtr_cntrct_num") private Optional contractNumber; - Optional toFhir( + @SuppressWarnings("checkstyle:MissingJavadocMethod") + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { return contractNumber.map( num -> diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SubmitterContractPBPNumber.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/SubmitterContractPBPNumber.java similarity index 68% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SubmitterContractPBPNumber.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/SubmitterContractPBPNumber.java index 913827f990..9c9b40cbdc 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SubmitterContractPBPNumber.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/SubmitterContractPBPNumber.java @@ -1,5 +1,7 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx; +import gov.cms.bfd.server.ng.claim.model.common.BlueButtonSupportingInfoCategory; +import gov.cms.bfd.server.ng.claim.model.common.SupportingInfoFactory; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import java.util.Optional; @@ -12,7 +14,8 @@ public class SubmitterContractPBPNumber { @Column(name = "clm_sbmtr_cntrct_pbp_num") private Optional contractPbpNumber; - Optional toFhir( + @SuppressWarnings("checkstyle:MissingJavadocMethod") + public Optional toFhir( SupportingInfoFactory supportingInfoFactory) { return contractPbpNumber.map( diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimBasisRx.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimBasisRx.java new file mode 100644 index 0000000000..be24b8f995 --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimBasisRx.java @@ -0,0 +1,7 @@ +package gov.cms.bfd.server.ng.claim.model.rx.entities; + +import javax.annotation.processing.Generated; + +/** The basis profile pharmacy claim. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimBasisRx extends ClaimRxBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRx.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimCmsRx.java similarity index 81% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRx.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimCmsRx.java index 0061bacf4b..cf91d7f1ae 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimRx.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimCmsRx.java @@ -1,8 +1,27 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.claim.model.rx.entities; -import static gov.cms.bfd.server.ng.claim.model.ClaimSubtype.PDE; +import static gov.cms.bfd.server.ng.claim.model.common.ClaimSubtype.PDE; import gov.cms.bfd.server.ng.ClaimFilterOptions; +import gov.cms.bfd.server.ng.claim.model.common.AdjudicationChargeType; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaymentDate; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPricingReasonCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcessDate; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.ClaimState; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubmissionDate; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubmissionFormatCode; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.SystemType; +import gov.cms.bfd.server.ng.claim.model.common.entities.ClaimBase; +import gov.cms.bfd.server.ng.claim.model.rx.AdjudicationChargeRx; +import gov.cms.bfd.server.ng.claim.model.rx.ClaimItemRx; +import gov.cms.bfd.server.ng.claim.model.rx.PrescribingCareTeam; +import gov.cms.bfd.server.ng.claim.model.rx.ServiceProviderPharmacy; +import gov.cms.bfd.server.ng.claim.model.rx.SubmitterContractNumber; +import gov.cms.bfd.server.ng.claim.model.rx.SubmitterContractPBPNumber; import gov.cms.bfd.server.ng.util.SequenceGenerator; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; @@ -28,7 +47,7 @@ @Getter @Entity @Table(name = "claim_rx", schema = "idr") -public class ClaimRx extends ClaimBase { +public class ClaimCmsRx extends ClaimBase { @Column(name = "clm_sbmt_frmt_cd") private Optional claimFormatCode; @@ -176,12 +195,12 @@ private void addInsurance(ExplanationOfBenefit eob) { } @Override - ClaimSourceId getClaimSourceId() { + public ClaimSourceId getClaimSourceId() { return ClaimSourceId.NATIONAL_CLAIMS_HISTORY; } @Override - MetaSourceSk getMetaSourceSk() { + public MetaSourceSk getMetaSourceSk() { return MetaSourceSk.DDPS; } diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimRegularRx.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimRegularRx.java new file mode 100644 index 0000000000..56607ca08b --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimRegularRx.java @@ -0,0 +1,7 @@ +package gov.cms.bfd.server.ng.claim.model.rx.entities; + +import javax.annotation.processing.Generated; + +/** The regular profile pharmacy claim. */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimRegularRx extends ClaimRxBase {} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimRxBase.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimRxBase.java new file mode 100644 index 0000000000..d929fa9cbe --- /dev/null +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/rx/entities/ClaimRxBase.java @@ -0,0 +1,40 @@ +package gov.cms.bfd.server.ng.claim.model.rx.entities; + +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimRelatedCondition; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSourceId; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.entities.ClaimBase; +import java.util.Collections; +import java.util.Optional; +import java.util.SortedSet; +import javax.annotation.processing.Generated; + +/** Shared base for professional claim types (NCH and Shared Systems). */ +@Generated("TODO - Remove after query optimization implementation") +public class ClaimRxBase extends ClaimBase { + @Override + public ClaimSourceId getClaimSourceId() { + return null; + } + + @Override + public MetaSourceSk getMetaSourceSk() { + return null; + } + + @Override + public SortedSet getItems() { + return Collections.emptySortedSet(); + } + + @Override + public Optional getDrgCode() { + return Optional.empty(); + } + + @Override + public Optional getClaimRelatedCondition() { + return Optional.empty(); + } +} diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/converter/ClaimPaidStatusCodeConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/converter/ClaimPaidStatusCodeConverter.java index dd9ef40779..e099120bf9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/converter/ClaimPaidStatusCodeConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/converter/ClaimPaidStatusCodeConverter.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.converter; -import gov.cms.bfd.server.ng.claim.model.ClaimPaidStatusCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimPaidStatusCode; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/coverage/model/BeneficiaryPartCDEnrollment.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/coverage/model/BeneficiaryPartCDEnrollment.java index ef9a4aae49..25eba0510a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/coverage/model/BeneficiaryPartCDEnrollment.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/coverage/model/BeneficiaryPartCDEnrollment.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.coverage.model; -import gov.cms.bfd.server.ng.claim.model.Contract; +import gov.cms.bfd.server.ng.model.Contract; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.Column; import jakarta.persistence.Embedded; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/coverage/model/BeneficiaryPartCDEnrollmentOptional.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/coverage/model/BeneficiaryPartCDEnrollmentOptional.java index 1b4639028a..576ee7cb05 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/coverage/model/BeneficiaryPartCDEnrollmentOptional.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/coverage/model/BeneficiaryPartCDEnrollmentOptional.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.coverage.model; -import gov.cms.bfd.server.ng.claim.model.Contract; +import gov.cms.bfd.server.ng.model.Contract; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import jakarta.persistence.FetchType; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/eob/EobHandler.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/eob/EobHandler.java index da958b2523..3dab0c5646 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/eob/EobHandler.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/eob/EobHandler.java @@ -11,6 +11,12 @@ import gov.cms.bfd.server.ng.claim.ClaimRepository; import gov.cms.bfd.server.ng.claim.PriorAuthorizationRepository; import gov.cms.bfd.server.ng.claim.model.*; +import gov.cms.bfd.server.ng.claim.model.common.ClaimItemBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimLineHcpcsCode; +import gov.cms.bfd.server.ng.claim.model.common.ClaimProcedureBase; +import gov.cms.bfd.server.ng.claim.model.common.ClaimState; +import gov.cms.bfd.server.ng.claim.model.common.IcdIndicator; +import gov.cms.bfd.server.ng.claim.model.common.entities.ClaimBase; import gov.cms.bfd.server.ng.input.ClaimIdSearchCriteria; import gov.cms.bfd.server.ng.input.ClaimSearchCriteria; import gov.cms.bfd.server.ng.input.DateTimeRange; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/eob/EobResourceProvider.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/eob/EobResourceProvider.java index f00d53759f..4d455614d9 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/eob/EobResourceProvider.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/eob/EobResourceProvider.java @@ -18,10 +18,10 @@ import gov.cms.bfd.server.ng.ClaimFilterOptions; import gov.cms.bfd.server.ng.Configuration; import gov.cms.bfd.server.ng.SamhsaFilterMode; -import gov.cms.bfd.server.ng.claim.model.SamhsaSearchIntent; import gov.cms.bfd.server.ng.input.ClaimIdSearchCriteria; import gov.cms.bfd.server.ng.input.ClaimSearchCriteria; import gov.cms.bfd.server.ng.input.FhirInputConverter; +import gov.cms.bfd.server.ng.model.SamhsaSearchIntent; import gov.cms.bfd.server.ng.util.CertificateUtil; import jakarta.servlet.http.HttpServletRequest; import java.util.Optional; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/ClaimIdSearchCriteria.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/ClaimIdSearchCriteria.java index b1c8e2d674..6b555c60cb 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/ClaimIdSearchCriteria.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/ClaimIdSearchCriteria.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng.input; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; import jakarta.validation.constraints.NotNull; import java.util.List; import org.hl7.fhir.r4.model.ExplanationOfBenefit; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/ClaimSearchCriteria.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/ClaimSearchCriteria.java index 22e9f09dbf..a662ca5291 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/ClaimSearchCriteria.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/ClaimSearchCriteria.java @@ -1,7 +1,7 @@ package gov.cms.bfd.server.ng.input; -import gov.cms.bfd.server.ng.claim.model.ClaimTypeCode; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.ClaimTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; import java.util.List; import java.util.Optional; import org.hl7.fhir.r4.model.ExplanationOfBenefit; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/FhirInputConverter.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/FhirInputConverter.java index 450a22298e..4c61753b9a 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/FhirInputConverter.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/FhirInputConverter.java @@ -6,10 +6,10 @@ import com.google.common.base.Strings; import gov.cms.bfd.server.ng.beneficiary.model.PatientMatch; import gov.cms.bfd.server.ng.beneficiary.model.PatientMatchParameter; -import gov.cms.bfd.server.ng.claim.model.ClaimFinalAction; -import gov.cms.bfd.server.ng.claim.model.ClaimTypeCode; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; -import gov.cms.bfd.server.ng.claim.model.SamhsaSearchIntent; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFinalAction; +import gov.cms.bfd.server.ng.claim.model.common.ClaimTypeCode; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.model.SamhsaSearchIntent; import gov.cms.bfd.server.ng.util.DateUtil; import gov.cms.bfd.server.ng.util.IdrConstants; import gov.cms.bfd.server.ng.util.SystemUrls; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/TagCriterion.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/TagCriterion.java index 2c2db5b9c1..8425253822 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/TagCriterion.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/input/TagCriterion.java @@ -1,7 +1,7 @@ package gov.cms.bfd.server.ng.input; -import gov.cms.bfd.server.ng.claim.model.ClaimFinalAction; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFinalAction; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; /** Parsed criteria from _tag. Expansion requires deliberate addition in TagCriterion. */ public sealed interface TagCriterion diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/Contract.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/model/Contract.java similarity index 95% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/Contract.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/model/Contract.java index ec7103a06e..c5a14def0c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/Contract.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/model/Contract.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.model; import jakarta.persistence.Column; import jakarta.persistence.Embedded; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ContractOptional.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/model/ContractOptional.java similarity index 95% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ContractOptional.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/model/ContractOptional.java index cfc5910eca..1aac4afc47 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ContractOptional.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/model/ContractOptional.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.model; import gov.cms.bfd.server.ng.coverage.model.ContractPlanContactInfo; import jakarta.persistence.Column; diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SamhsaSearchIntent.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/model/SamhsaSearchIntent.java similarity index 83% rename from apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SamhsaSearchIntent.java rename to apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/model/SamhsaSearchIntent.java index 68477c9d72..92b59d4b1c 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/SamhsaSearchIntent.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/model/SamhsaSearchIntent.java @@ -1,4 +1,4 @@ -package gov.cms.bfd.server.ng.claim.model; +package gov.cms.bfd.server.ng.model; /** SAMHSA search intent. */ public enum SamhsaSearchIntent { diff --git a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/util/LogUtil.java b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/util/LogUtil.java index e60c153f80..8aab5eb92d 100644 --- a/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/util/LogUtil.java +++ b/apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/util/LogUtil.java @@ -2,7 +2,7 @@ import static gov.cms.bfd.server.ng.util.LoggerConstants.LOG_TYPE; -import gov.cms.bfd.server.ng.claim.model.ClaimBase; +import gov.cms.bfd.server.ng.claim.model.common.entities.ClaimBase; import java.util.Collection; import org.slf4j.LoggerFactory; diff --git a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobPharmacyIT.java b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobPharmacyIT.java index aa52d1c1af..d523a973e7 100644 --- a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobPharmacyIT.java +++ b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobPharmacyIT.java @@ -8,7 +8,7 @@ import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.rest.gclient.IReadTyped; -import gov.cms.bfd.server.ng.claim.model.ProviderIdQualifierCode; +import gov.cms.bfd.server.ng.claim.model.common.ProviderIdQualifierCode; import gov.cms.bfd.server.ng.eob.EobResourceProvider; import jakarta.servlet.http.HttpServletRequest; import java.util.Set; diff --git a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobPriorAuthorizationIT.java b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobPriorAuthorizationIT.java index 557c96151b..32946b4359 100644 --- a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobPriorAuthorizationIT.java +++ b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobPriorAuthorizationIT.java @@ -9,8 +9,8 @@ import ca.uhn.fhir.rest.client.interceptor.AdditionalRequestHeadersInterceptor; import ca.uhn.fhir.rest.gclient.IQuery; import ca.uhn.fhir.rest.gclient.TokenClientParam; -import gov.cms.bfd.server.ng.claim.model.ClaimFinalAction; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFinalAction; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; import gov.cms.bfd.server.ng.testUtil.SamhsaCertType; import gov.cms.bfd.server.ng.util.DateUtil; import gov.cms.bfd.server.ng.util.SystemUrls; diff --git a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobReadIT.java b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobReadIT.java index d7538212ba..f76775a533 100644 --- a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobReadIT.java +++ b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobReadIT.java @@ -8,7 +8,7 @@ import ca.uhn.fhir.rest.gclient.IReadTyped; import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException; -import gov.cms.bfd.server.ng.claim.model.ClaimProfessionalNch; +import gov.cms.bfd.server.ng.claim.model.professional.entities.ClaimProfessionalCmsNch; import gov.cms.bfd.server.ng.eob.EobResourceProvider; import io.restassured.RestAssured; import jakarta.servlet.http.HttpServletRequest; @@ -148,12 +148,12 @@ void eobReadNonLatestProfessionalIsNotReturned() { .createQuery( """ SELECT c - FROM ClaimProfessionalNch c + FROM ClaimProfessionalCmsNch c JOIN FETCH c.beneficiary b JOIN FETCH c.claimItems cl WHERE c.claimUniqueId = :claimId """, - ClaimProfessionalNch.class) + ClaimProfessionalCmsNch.class) .setParameter("claimId", Long.parseLong(CLAIM_ID_PROFESSIONAL_NON_LATEST)) .getResultList(); // Precondition - claim should be available in the db diff --git a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobSearchIT.java b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobSearchIT.java index edf9d119ae..bdbfa92675 100644 --- a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobSearchIT.java +++ b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobSearchIT.java @@ -11,10 +11,10 @@ import ca.uhn.fhir.rest.gclient.IQuery; import ca.uhn.fhir.rest.gclient.TokenClientParam; import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; -import gov.cms.bfd.server.ng.claim.model.ClaimFinalAction; -import gov.cms.bfd.server.ng.claim.model.ClaimProfessionalNch; -import gov.cms.bfd.server.ng.claim.model.ClaimSubtype; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFinalAction; +import gov.cms.bfd.server.ng.claim.model.common.ClaimSubtype; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.professional.entities.ClaimProfessionalCmsNch; import gov.cms.bfd.server.ng.util.DateUtil; import gov.cms.bfd.server.ng.util.SystemUrls; import java.time.Instant; @@ -308,7 +308,7 @@ void eobSearchByServiceDate() { .createQuery( """ SELECT billablePeriod.claimThroughDate - FROM ClaimInstitutionalNch c + FROM ClaimInstitutionalCmsNch c WHERE c.claimUniqueId = :id """, Optional.class) @@ -831,12 +831,12 @@ void eobSearchNonLatestProfessionalIsNotReturned() { .createQuery( """ SELECT c - FROM ClaimProfessionalNch c + FROM ClaimProfessionalCmsNch c JOIN FETCH c.beneficiary b JOIN FETCH c.claimItems cl WHERE c.claimUniqueId = :claimId """, - ClaimProfessionalNch.class) + ClaimProfessionalCmsNch.class) .setParameter("claimId", Long.parseLong(CLAIM_ID_PROFESSIONAL_NON_LATEST)) .getResultList(); // Precondition - claim should be available in the db diff --git a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/IcdIndicatorIT.java b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/IcdIndicatorIT.java index cbfcfb213e..847753dd02 100644 --- a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/IcdIndicatorIT.java +++ b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/IcdIndicatorIT.java @@ -4,7 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import ca.uhn.fhir.rest.gclient.IReadTyped; -import gov.cms.bfd.server.ng.claim.model.IcdIndicator; +import gov.cms.bfd.server.ng.claim.model.common.IcdIndicator; import java.util.List; import java.util.stream.Collectors; import org.hl7.fhir.r4.model.ExplanationOfBenefit; diff --git a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/IntegrationTestBase.java b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/IntegrationTestBase.java index 753483abca..3a1664088c 100644 --- a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/IntegrationTestBase.java +++ b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/IntegrationTestBase.java @@ -1,6 +1,6 @@ package gov.cms.bfd.server.ng; -import static gov.cms.bfd.server.ng.claim.model.ClaimDiagnosisType.*; +import static gov.cms.bfd.server.ng.claim.model.common.ClaimDiagnosisType.*; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -14,8 +14,8 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import gov.cms.bfd.server.ng.audit.AuditEventRepository; import gov.cms.bfd.server.ng.beneficiary.model.Beneficiary; -import gov.cms.bfd.server.ng.claim.model.ClaimFinalAction; -import gov.cms.bfd.server.ng.claim.model.MetaSourceSk; +import gov.cms.bfd.server.ng.claim.model.common.ClaimFinalAction; +import gov.cms.bfd.server.ng.claim.model.common.MetaSourceSk; import gov.cms.bfd.server.ng.util.SystemUrls; import jakarta.persistence.EntityManager; import java.util.List; diff --git a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/claim/model/IcdIndicatorTest.java b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/claim/model/IcdIndicatorTest.java index c842676071..57d45d1158 100644 --- a/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/claim/model/IcdIndicatorTest.java +++ b/apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/claim/model/IcdIndicatorTest.java @@ -2,6 +2,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import gov.cms.bfd.server.ng.claim.model.common.IcdIndicator; import org.junit.jupiter.api.Test; /** Unit tests for ICD code formatting rules implemented in IcdIndicator. */