Skip to content

Commit

Permalink
tried again but with thought
Browse files Browse the repository at this point in the history
  • Loading branch information
ailZhou committed Sep 13, 2024
1 parent 09647c7 commit bc4b21d
Show file tree
Hide file tree
Showing 9 changed files with 81 additions and 79 deletions.
11 changes: 7 additions & 4 deletions services/ui-src/src/measures/2021/AIFHH/validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,16 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
rateData,
locationDictionary,
label,
qualifiers,
}) => {
return OPM === undefined
? [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.["aifhh-rate"]?.rates ?? {},
[],
false,
ndrFormulas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
...GV.ComplexValidateNDRTotalsOMS(
rateData?.["aifhh-rate"]?.rates ?? {},
Expand All @@ -118,9 +120,10 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
: [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.rates,
OPM,
true,
ndrFormulas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
];
};
Expand Down
12 changes: 8 additions & 4 deletions services/ui-src/src/measures/2021/IUHH/validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,17 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
rateData,
locationDictionary,
label,
categories,
qualifiers,
}) => {
return OPM === undefined
? [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.["iuhh-rate"]?.rates ?? {},
[],
false,
ndrForumlas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
categories
),
...GV.ComplexValidateNDRTotalsOMS(
rateData?.["iuhh-rate"]?.rates ?? {},
Expand All @@ -124,9 +127,10 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
: [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.rates,
OPM,
true,
ndrForumlas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
];
};
Expand Down
11 changes: 7 additions & 4 deletions services/ui-src/src/measures/2022/AIFHH/validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,16 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
rateData,
locationDictionary,
label,
qualifiers,
}) => {
return OPM === undefined
? [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.["aifhh-rate"]?.rates ?? {},
[],
false,
ndrFormulas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
...GV.ComplexValidateNDRTotalsOMS(
rateData?.["aifhh-rate"]?.rates ?? {},
Expand All @@ -118,9 +120,10 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
: [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.rates,
OPM,
true,
ndrFormulas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
];
};
Expand Down
12 changes: 8 additions & 4 deletions services/ui-src/src/measures/2022/IUHH/validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,17 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
rateData,
locationDictionary,
label,
categories,
qualifiers,
}) => {
return OPM === undefined
? [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.["iuhh-rate"]?.rates ?? {},
[],
false,
ndrForumlas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
categories
),
...GV.ComplexValidateNDRTotalsOMS(
rateData?.["iuhh-rate"]?.rates ?? {},
Expand All @@ -124,9 +127,10 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
: [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.rates,
OPM,
true,
ndrForumlas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
];
};
Expand Down
11 changes: 7 additions & 4 deletions services/ui-src/src/measures/2023/AIFHH/validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,22 +99,25 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
rateData,
locationDictionary,
label,
qualifiers,
}) => {
return OPM === undefined
? [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.["aifhh-rate"]?.rates ?? {},
[],
false,
ndrFormulas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
]
: [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.rates,
OPM,
true,
ndrFormulas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
];
};
Expand Down
12 changes: 8 additions & 4 deletions services/ui-src/src/measures/2023/IUHH/validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,17 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
rateData,
locationDictionary,
label,
categories,
qualifiers,
}) => {
return OPM === undefined
? [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.["iuhh-rate"]?.rates ?? {},
[],
false,
ndrForumlas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
categories
),
...GV.ComplexValueSameCrossCategoryOMS(
rateData?.["iuhh-rate"]?.rates ?? {},
Expand All @@ -118,9 +121,10 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
: [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.rates,
OPM,
true,
ndrForumlas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
];
};
Expand Down
11 changes: 7 additions & 4 deletions services/ui-src/src/measures/2024/AIFHH/validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,22 +99,25 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
rateData,
locationDictionary,
label,
qualifiers,
}) => {
return OPM === undefined
? [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.["aifhh-rate"]?.rates ?? {},
[],
false,
ndrFormulas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
]
: [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.rates,
OPM,
true,
ndrFormulas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
];
};
Expand Down
12 changes: 8 additions & 4 deletions services/ui-src/src/measures/2024/IUHH/validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,17 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
rateData,
locationDictionary,
label,
categories,
qualifiers,
}) => {
return OPM === undefined
? [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.["iuhh-rate"]?.rates ?? {},
[],
false,
ndrForumlas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
categories
),
...GV.ComplexValueSameCrossCategoryOMS(
rateData?.["iuhh-rate"]?.rates ?? {},
Expand All @@ -118,9 +121,10 @@ const OMSValidations: GV.Types.OmsValidationCallback = ({
: [
...GV.ComplexNoNonZeroNumOrDenomOMS(
rateData?.rates,
OPM,
true,
ndrForumlas,
`Optional Measure Stratification: ${locationDictionary(label)}`
`Optional Measure Stratification: ${locationDictionary(label)}`,
qualifiers
),
];
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { cleanString, isLegacyLabel } from "utils";
import * as DC from "dataConstants";
import { AnyObject } from "types";
import { LabelData } from "utils";

interface NDRforumla {
numerator: number;
Expand All @@ -10,55 +8,31 @@ interface NDRforumla {

export const ComplexNoNonZeroNumOrDenomOMS = (
rateData: any,
OPM: AnyObject[],
isOPM: boolean,
ndrFormulas: NDRforumla[],
errorLocation: string
errorLocation: string,
rateLabel: LabelData[]
) => {
let errorArray: any[] = [];

//OMS errors for OPM data
if (OPM && OPM.length > 0) {
const keyList = OPM?.map((item: any) => {
return {
id: isLegacyLabel()
? cleanString(item.description)
: `${DC.OPM_KEY}${cleanString(item.description)}`,
desc: item.description,
};
});
//key for 2023+ = category id and for 2022- = qualifier id
for (const key in rateData) {
//opmKey for 2023+ = qualifer id and for 2022- = category id
for (const opmKey in rateData[key]) {
const rate = rateData[key][opmKey];
//rateLabel is either the categories array or the qualifiers array and since we don't know which one it could be, we search with key and opmKey
const desc = rateLabel.find(
(_rateLabel) => _rateLabel.id === key || _rateLabel.id === opmKey
);

for (const id of keyList.map((key) => key.id)) {
if (rateData[id]) {
const description = keyList.find((key) => key.id === id)?.desc;
errorArray.push(
...ComplexNoNonZeroNumOrDenom(
[],
[
{
rate: isLegacyLabel()
? rateData[id]["OPM"]
: rateData["OPM"][id],
},
],
ndrFormulas,
`${errorLocation} - ${description}`
)
);
}
}
} else {
for (const key in rateData) {
for (const category in rateData[key]) {
const label = rateData[key][category]?.[0]?.label;
errorArray.push(
...ComplexNoNonZeroNumOrDenom(
[rateData[key][category]],
false,
ndrFormulas,
`${errorLocation} - ${label}`
)
);
}
errorArray.push(
...ComplexNoNonZeroNumOrDenom(
isOPM ? [] : [rate],
isOPM ? [{ rate: rate }] : false,
ndrFormulas,
`${errorLocation} - ${desc?.label}`
)
);
}
}

Expand Down

0 comments on commit bc4b21d

Please sign in to comment.