@actuarial-ts/data 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -6
- package/dist/customizationContracts.d.ts +82 -42
- package/dist/customizationContracts.d.ts.map +1 -1
- package/dist/customizationContracts.js +35 -1
- package/dist/customizationContracts.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/src/customizationContracts.ts +34 -0
- package/src/version.ts +1 -1
package/README.md
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
Typed ingestion, preparation, and data-review boundaries for the actuarial-ts SDK. It supports loss-run/exposure CSVs, annual claim-development adaptation, triangle assembly, and generalized diagnostic review designed to support ASOP No. 23 work.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npm install @actuarial-ts/data@0.
|
|
6
|
+
npm install @actuarial-ts/data@0.9.0 @actuarial-ts/core@0.9.0
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Node 20+, ESM. Responsibility for the review and resulting actuarial work remains with the actuary.
|
|
10
10
|
|
|
11
11
|
SDK 0.8 adds strict parsers, source mapping, externally staged revision
|
|
12
12
|
history, and complete customization resource-policy validation. See the
|
|
13
|
-
[0.8 adoption guide](https://github.com/yerromnitsuj/actng/blob/v0.
|
|
14
|
-
and [customization reference](https://github.com/yerromnitsuj/actng/blob/v0.
|
|
13
|
+
[0.8 adoption guide](https://github.com/yerromnitsuj/actng/blob/v0.9.0/docs/migrations/0.8-reusable-customization.md)
|
|
14
|
+
and [customization reference](https://github.com/yerromnitsuj/actng/blob/v0.9.0/docs/reference/reusable-customization.md).
|
|
15
15
|
|
|
16
16
|
## Existing ingestion and triangle review
|
|
17
17
|
|
|
@@ -98,8 +98,8 @@ JSON, spreads, and casts cannot recreate these owners. Use
|
|
|
98
98
|
`createCompactDiagnosticRunIdentity` in compliance for compact completed runs;
|
|
99
99
|
the eager provenance function is not interchangeable.
|
|
100
100
|
|
|
101
|
-
See the runnable [compact adoption guide](https://github.com/yerromnitsuj/actng/blob/v0.
|
|
102
|
-
and [replay/resource-policy reference](https://github.com/yerromnitsuj/actng/blob/v0.
|
|
101
|
+
See the runnable [compact adoption guide](https://github.com/yerromnitsuj/actng/blob/v0.9.0/docs/migrations/0.7-compact-diagnostics.md)
|
|
102
|
+
and [replay/resource-policy reference](https://github.com/yerromnitsuj/actng/blob/v0.9.0/docs/reference/diagnostic-replay-stream.md).
|
|
103
103
|
Compact representation preserves evidence; it is not a claim that an arbitrary
|
|
104
104
|
large dataset or host memory budget has passed acceptance.
|
|
105
105
|
|
|
@@ -114,8 +114,11 @@ immutable preparation and exact review evidence; every other selection follows
|
|
|
114
114
|
the ordinary compact preparation path. The API does not promise a latency or
|
|
115
115
|
process-memory target.
|
|
116
116
|
|
|
117
|
-
See the [formula catalog](https://github.com/yerromnitsuj/actng/blob/v0.
|
|
117
|
+
See the [formula catalog](https://github.com/yerromnitsuj/actng/blob/v0.9.0/docs/reference/diagnostic-formulas.md) and [migration guide](https://github.com/yerromnitsuj/actng/blob/v0.9.0/docs/migrations/0.6-generalized-diagnostics.md).
|
|
118
118
|
|
|
119
119
|
## License
|
|
120
120
|
|
|
121
121
|
Apache-2.0. See LICENSE and NOTICE.
|
|
122
|
+
|
|
123
|
+
SDK 0.9 adds native post-aggregation formulas and correct financial currency units.
|
|
124
|
+
See the [0.9 migration guide](https://github.com/yerromnitsuj/actng/blob/v0.9.0/docs/migrations/0.9-analysis-expressions.md).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AnalysisDefinition, type AnalysisClassificationDefinition, type AnalysisPredicate, type AnalysisRecipe, type AnalysisResult, type AnalysisScenario, type AnalysisScenarioGrid, type CustomizationExposureObservation, type CustomizationResourceLimits, type ExposureAllocationTarget, type ExposureLevelSchedule, type ExposureRevisionSelection, type HistoricalDatasetInput, type JsonValue } from "@actuarial-ts/core";
|
|
1
|
+
import { type AnalysisDefinition, type AnalysisMeasureExpression, type AnalysisClassificationDefinition, type AnalysisPredicate, type AnalysisRecipe, type AnalysisResult, type AnalysisScenario, type AnalysisScenarioGrid, type CustomizationExposureObservation, type CustomizationResourceLimits, type ExposureAllocationTarget, type ExposureLevelSchedule, type ExposureRevisionSelection, type HistoricalDatasetInput, type JsonValue } from "@actuarial-ts/core";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
/** Complete, closed resource policy for every customization streaming boundary. */
|
|
4
4
|
export declare const customizationResourceLimitsSchema: z.ZodType<CustomizationResourceLimits>;
|
|
@@ -871,6 +871,13 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
871
871
|
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
872
872
|
}>, "many">;
|
|
873
873
|
}, "strict", z.ZodTypeAny, {
|
|
874
|
+
exposure: {
|
|
875
|
+
id: string;
|
|
876
|
+
populationKeys: string[];
|
|
877
|
+
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
878
|
+
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
879
|
+
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
880
|
+
}[];
|
|
874
881
|
financial: {
|
|
875
882
|
id: string;
|
|
876
883
|
subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
|
|
@@ -899,6 +906,7 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
899
906
|
asOfDate: string;
|
|
900
907
|
};
|
|
901
908
|
};
|
|
909
|
+
}, {
|
|
902
910
|
exposure: {
|
|
903
911
|
id: string;
|
|
904
912
|
populationKeys: string[];
|
|
@@ -906,7 +914,6 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
906
914
|
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
907
915
|
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
908
916
|
}[];
|
|
909
|
-
}, {
|
|
910
917
|
financial: {
|
|
911
918
|
id: string;
|
|
912
919
|
subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
|
|
@@ -935,13 +942,6 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
935
942
|
asOfDate: string;
|
|
936
943
|
};
|
|
937
944
|
};
|
|
938
|
-
exposure: {
|
|
939
|
-
id: string;
|
|
940
|
-
populationKeys: string[];
|
|
941
|
-
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
942
|
-
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
943
|
-
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
944
|
-
}[];
|
|
945
945
|
}>;
|
|
946
946
|
policySchedule: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
947
947
|
id: z.ZodEffects<z.ZodString, string, string>;
|
|
@@ -1264,6 +1264,7 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1264
1264
|
event: "closed-date";
|
|
1265
1265
|
censor: "evaluation-date";
|
|
1266
1266
|
}>]>;
|
|
1267
|
+
unitFactors: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodNumber>, Record<string, number>, Record<string, number>>>;
|
|
1267
1268
|
populationScopeId: z.ZodEffects<z.ZodString, string, string>;
|
|
1268
1269
|
condition: z.ZodOptional<z.ZodType<AnalysisPredicate, z.ZodTypeDef, AnalysisPredicate>>;
|
|
1269
1270
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -1310,6 +1311,7 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1310
1311
|
censor: "evaluation-date";
|
|
1311
1312
|
};
|
|
1312
1313
|
populationScopeId: string;
|
|
1314
|
+
unitFactors?: Record<string, number> | undefined;
|
|
1313
1315
|
condition?: AnalysisPredicate | undefined;
|
|
1314
1316
|
}, {
|
|
1315
1317
|
id: string;
|
|
@@ -1355,8 +1357,22 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1355
1357
|
censor: "evaluation-date";
|
|
1356
1358
|
};
|
|
1357
1359
|
populationScopeId: string;
|
|
1360
|
+
unitFactors?: Record<string, number> | undefined;
|
|
1358
1361
|
condition?: AnalysisPredicate | undefined;
|
|
1359
1362
|
}>, "many">;
|
|
1363
|
+
derivedMeasures: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1364
|
+
id: z.ZodEffects<z.ZodString, string, string>;
|
|
1365
|
+
expression: z.ZodType<AnalysisMeasureExpression, z.ZodTypeDef, AnalysisMeasureExpression>;
|
|
1366
|
+
developmentSemantics: z.ZodEnum<["cumulative", "incremental", "point-in-time"]>;
|
|
1367
|
+
}, "strict", z.ZodTypeAny, {
|
|
1368
|
+
expression: AnalysisMeasureExpression;
|
|
1369
|
+
id: string;
|
|
1370
|
+
developmentSemantics: "point-in-time" | "cumulative" | "incremental";
|
|
1371
|
+
}, {
|
|
1372
|
+
expression: AnalysisMeasureExpression;
|
|
1373
|
+
id: string;
|
|
1374
|
+
developmentSemantics: "point-in-time" | "cumulative" | "incremental";
|
|
1375
|
+
}>, "many">>;
|
|
1360
1376
|
financialTerms: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
1361
1377
|
kind: z.ZodEnum<["claim-layer", "occurrence-layer"]>;
|
|
1362
1378
|
id: z.ZodEffects<z.ZodString, string, string>;
|
|
@@ -1512,11 +1528,19 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1512
1528
|
censor: "evaluation-date";
|
|
1513
1529
|
};
|
|
1514
1530
|
populationScopeId: string;
|
|
1531
|
+
unitFactors?: Record<string, number> | undefined;
|
|
1515
1532
|
condition?: AnalysisPredicate | undefined;
|
|
1516
1533
|
}[];
|
|
1517
1534
|
analysisContractVersion: "actuarial-analysis/1";
|
|
1518
1535
|
version: string;
|
|
1519
1536
|
scopes: {
|
|
1537
|
+
exposure: {
|
|
1538
|
+
id: string;
|
|
1539
|
+
populationKeys: string[];
|
|
1540
|
+
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
1541
|
+
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
1542
|
+
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
1543
|
+
}[];
|
|
1520
1544
|
financial: {
|
|
1521
1545
|
id: string;
|
|
1522
1546
|
subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
|
|
@@ -1545,13 +1569,6 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1545
1569
|
asOfDate: string;
|
|
1546
1570
|
};
|
|
1547
1571
|
};
|
|
1548
|
-
exposure: {
|
|
1549
|
-
id: string;
|
|
1550
|
-
populationKeys: string[];
|
|
1551
|
-
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
1552
|
-
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
1553
|
-
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
1554
|
-
}[];
|
|
1555
1572
|
};
|
|
1556
1573
|
policySchedule: {
|
|
1557
1574
|
id: string;
|
|
@@ -1616,6 +1633,11 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1616
1633
|
allocation: "proportional" | "chronological";
|
|
1617
1634
|
deductible: number;
|
|
1618
1635
|
})[];
|
|
1636
|
+
derivedMeasures?: {
|
|
1637
|
+
expression: AnalysisMeasureExpression;
|
|
1638
|
+
id: string;
|
|
1639
|
+
developmentSemantics: "point-in-time" | "cumulative" | "incremental";
|
|
1640
|
+
}[] | undefined;
|
|
1619
1641
|
financialAdjustments?: ({
|
|
1620
1642
|
kind: "scale";
|
|
1621
1643
|
id: string;
|
|
@@ -1688,11 +1710,19 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1688
1710
|
censor: "evaluation-date";
|
|
1689
1711
|
};
|
|
1690
1712
|
populationScopeId: string;
|
|
1713
|
+
unitFactors?: Record<string, number> | undefined;
|
|
1691
1714
|
condition?: AnalysisPredicate | undefined;
|
|
1692
1715
|
}[];
|
|
1693
1716
|
analysisContractVersion: "actuarial-analysis/1";
|
|
1694
1717
|
version: string;
|
|
1695
1718
|
scopes: {
|
|
1719
|
+
exposure: {
|
|
1720
|
+
id: string;
|
|
1721
|
+
populationKeys: string[];
|
|
1722
|
+
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
1723
|
+
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
1724
|
+
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
1725
|
+
}[];
|
|
1696
1726
|
financial: {
|
|
1697
1727
|
id: string;
|
|
1698
1728
|
subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
|
|
@@ -1721,13 +1751,6 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1721
1751
|
asOfDate: string;
|
|
1722
1752
|
};
|
|
1723
1753
|
};
|
|
1724
|
-
exposure: {
|
|
1725
|
-
id: string;
|
|
1726
|
-
populationKeys: string[];
|
|
1727
|
-
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
1728
|
-
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
1729
|
-
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
1730
|
-
}[];
|
|
1731
1754
|
};
|
|
1732
1755
|
policySchedule: {
|
|
1733
1756
|
id: string;
|
|
@@ -1792,6 +1815,11 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1792
1815
|
allocation: "proportional" | "chronological";
|
|
1793
1816
|
deductible: number;
|
|
1794
1817
|
})[];
|
|
1818
|
+
derivedMeasures?: {
|
|
1819
|
+
expression: AnalysisMeasureExpression;
|
|
1820
|
+
id: string;
|
|
1821
|
+
developmentSemantics: "point-in-time" | "cumulative" | "incremental";
|
|
1822
|
+
}[] | undefined;
|
|
1795
1823
|
financialAdjustments?: ({
|
|
1796
1824
|
kind: "scale";
|
|
1797
1825
|
id: string;
|
|
@@ -1864,11 +1892,19 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1864
1892
|
censor: "evaluation-date";
|
|
1865
1893
|
};
|
|
1866
1894
|
populationScopeId: string;
|
|
1895
|
+
unitFactors?: Record<string, number> | undefined;
|
|
1867
1896
|
condition?: AnalysisPredicate | undefined;
|
|
1868
1897
|
}[];
|
|
1869
1898
|
analysisContractVersion: "actuarial-analysis/1";
|
|
1870
1899
|
version: string;
|
|
1871
1900
|
scopes: {
|
|
1901
|
+
exposure: {
|
|
1902
|
+
id: string;
|
|
1903
|
+
populationKeys: string[];
|
|
1904
|
+
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
1905
|
+
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
1906
|
+
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
1907
|
+
}[];
|
|
1872
1908
|
financial: {
|
|
1873
1909
|
id: string;
|
|
1874
1910
|
subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
|
|
@@ -1897,13 +1933,6 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1897
1933
|
asOfDate: string;
|
|
1898
1934
|
};
|
|
1899
1935
|
};
|
|
1900
|
-
exposure: {
|
|
1901
|
-
id: string;
|
|
1902
|
-
populationKeys: string[];
|
|
1903
|
-
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
1904
|
-
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
1905
|
-
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
1906
|
-
}[];
|
|
1907
1936
|
};
|
|
1908
1937
|
policySchedule: {
|
|
1909
1938
|
id: string;
|
|
@@ -1968,6 +1997,11 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1968
1997
|
allocation: "proportional" | "chronological";
|
|
1969
1998
|
deductible: number;
|
|
1970
1999
|
})[];
|
|
2000
|
+
derivedMeasures?: {
|
|
2001
|
+
expression: AnalysisMeasureExpression;
|
|
2002
|
+
id: string;
|
|
2003
|
+
developmentSemantics: "point-in-time" | "cumulative" | "incremental";
|
|
2004
|
+
}[] | undefined;
|
|
1971
2005
|
financialAdjustments?: ({
|
|
1972
2006
|
kind: "scale";
|
|
1973
2007
|
id: string;
|
|
@@ -2040,11 +2074,19 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2040
2074
|
censor: "evaluation-date";
|
|
2041
2075
|
};
|
|
2042
2076
|
populationScopeId: string;
|
|
2077
|
+
unitFactors?: Record<string, number> | undefined;
|
|
2043
2078
|
condition?: AnalysisPredicate | undefined;
|
|
2044
2079
|
}[];
|
|
2045
2080
|
analysisContractVersion: "actuarial-analysis/1";
|
|
2046
2081
|
version: string;
|
|
2047
2082
|
scopes: {
|
|
2083
|
+
exposure: {
|
|
2084
|
+
id: string;
|
|
2085
|
+
populationKeys: string[];
|
|
2086
|
+
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
2087
|
+
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
2088
|
+
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
2089
|
+
}[];
|
|
2048
2090
|
financial: {
|
|
2049
2091
|
id: string;
|
|
2050
2092
|
subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
|
|
@@ -2073,13 +2115,6 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2073
2115
|
asOfDate: string;
|
|
2074
2116
|
};
|
|
2075
2117
|
};
|
|
2076
|
-
exposure: {
|
|
2077
|
-
id: string;
|
|
2078
|
-
populationKeys: string[];
|
|
2079
|
-
timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
2080
|
-
reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
2081
|
-
valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
|
|
2082
|
-
}[];
|
|
2083
2118
|
};
|
|
2084
2119
|
policySchedule: {
|
|
2085
2120
|
id: string;
|
|
@@ -2144,6 +2179,11 @@ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2144
2179
|
allocation: "proportional" | "chronological";
|
|
2145
2180
|
deductible: number;
|
|
2146
2181
|
})[];
|
|
2182
|
+
derivedMeasures?: {
|
|
2183
|
+
expression: AnalysisMeasureExpression;
|
|
2184
|
+
id: string;
|
|
2185
|
+
developmentSemantics: "point-in-time" | "cumulative" | "incremental";
|
|
2186
|
+
}[] | undefined;
|
|
2147
2187
|
financialAdjustments?: ({
|
|
2148
2188
|
kind: "scale";
|
|
2149
2189
|
id: string;
|
|
@@ -2238,7 +2278,7 @@ export declare const analysisRecipeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2238
2278
|
kind: "adapt-diagnostics";
|
|
2239
2279
|
diagnosticDefinitionId: string;
|
|
2240
2280
|
}>]>, "many">;
|
|
2241
|
-
requiredCapabilities: z.ZodArray<z.ZodEnum<["history-snapshots", "history-changes", "irregular-periods", "exposure-earning", "typed-populations", "descriptive-statistics", "reserving-triangle-adapter", "bounded-execution", "shared-financial-terms", "recipes", "scenarios"]>, "many">;
|
|
2281
|
+
requiredCapabilities: z.ZodArray<z.ZodEnum<["history-snapshots", "history-changes", "irregular-periods", "exposure-earning", "typed-populations", "descriptive-statistics", "derived-analysis-measures", "reserving-triangle-adapter", "bounded-execution", "shared-financial-terms", "recipes", "scenarios"]>, "many">;
|
|
2242
2282
|
parameters: z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodType<JsonValue, z.ZodTypeDef, JsonValue>>;
|
|
2243
2283
|
}, "strict", z.ZodTypeAny, {
|
|
2244
2284
|
id: string;
|
|
@@ -2268,7 +2308,7 @@ export declare const analysisRecipeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2268
2308
|
kind: "adapt-diagnostics";
|
|
2269
2309
|
diagnosticDefinitionId: string;
|
|
2270
2310
|
})[];
|
|
2271
|
-
requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
|
|
2311
|
+
requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "derived-analysis-measures" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
|
|
2272
2312
|
parameters: Record<string, JsonValue>;
|
|
2273
2313
|
}, {
|
|
2274
2314
|
id: string;
|
|
@@ -2298,7 +2338,7 @@ export declare const analysisRecipeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2298
2338
|
kind: "adapt-diagnostics";
|
|
2299
2339
|
diagnosticDefinitionId: string;
|
|
2300
2340
|
})[];
|
|
2301
|
-
requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
|
|
2341
|
+
requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "derived-analysis-measures" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
|
|
2302
2342
|
parameters: Record<string, JsonValue>;
|
|
2303
2343
|
}>, {
|
|
2304
2344
|
id: string;
|
|
@@ -2328,7 +2368,7 @@ export declare const analysisRecipeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2328
2368
|
kind: "adapt-diagnostics";
|
|
2329
2369
|
diagnosticDefinitionId: string;
|
|
2330
2370
|
})[];
|
|
2331
|
-
requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
|
|
2371
|
+
requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "derived-analysis-measures" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
|
|
2332
2372
|
parameters: Record<string, JsonValue>;
|
|
2333
2373
|
}, {
|
|
2334
2374
|
id: string;
|
|
@@ -2358,7 +2398,7 @@ export declare const analysisRecipeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2358
2398
|
kind: "adapt-diagnostics";
|
|
2359
2399
|
diagnosticDefinitionId: string;
|
|
2360
2400
|
})[];
|
|
2361
|
-
requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
|
|
2401
|
+
requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "derived-analysis-measures" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
|
|
2362
2402
|
parameters: Record<string, JsonValue>;
|
|
2363
2403
|
}>;
|
|
2364
2404
|
export declare const analysisResultSchema: z.ZodType<AnalysisResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customizationContracts.d.ts","sourceRoot":"","sources":["../src/customizationContracts.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"customizationContracts.d.ts","sourceRoot":"","sources":["../src/customizationContracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EAGf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,mFAAmF;AACnF,eAAO,MAAM,iCAAiC,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAS1E,CAAC;AAsDZ,eAAO,MAAM,sCAAsC,EAAE,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAwB3F,CAAC;AAEL,eAAO,MAAM,8BAA8B,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CASyD,CAAC;AAEzI,eAAO,MAAM,+BAA+B,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAMtE,CAAC;AAEZ,eAAO,MAAM,2BAA2B,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAkBvE,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkE/B,CAAC;AAEL,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmKrC,CAAC;AA4IL,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgNjC,CAAC;AAYL,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+C7B,CAAC;AAoBL,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CA8BhD,CAAC;AAQZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjC,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CA0BnE,CAAC;AAEL,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAkBnF,CAAC;AAuBH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAElF;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,2BAA2B,CAE5F;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAE1G;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAE1E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAElE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAElE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAEtE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAE9E;AAED,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,gCAAgC,EAAE,CAElH;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,wBAAwB,EAAE,CAElG;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,CAExF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAEhF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,gCAAgC,CAE5F"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ANALYSIS_DEFINITION_CONTRACT_VERSION, ANALYSIS_RECIPE_CONTRACT_VERSION, ANALYSIS_RESULT_CONTRACT_VERSION, CUSTOMIZATION_CAPABILITIES, HISTORICAL_DATASET_CONTRACT_VERSION, DiagnosticValidationError, diagnosticJsonPreflight, isDiagnosticToken, isRealIsoDate, } from "@actuarial-ts/core";
|
|
1
|
+
import { ANALYSIS_DEFINITION_CONTRACT_VERSION, ANALYSIS_RECIPE_CONTRACT_VERSION, ANALYSIS_RESULT_CONTRACT_VERSION, CUSTOMIZATION_CAPABILITIES, HISTORICAL_DATASET_CONTRACT_VERSION, DiagnosticValidationError, diagnosticJsonPreflight, compileAnalysisExpressions, isDiagnosticToken, isRealIsoDate, } from "@actuarial-ts/core";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
const token = z
|
|
4
4
|
.string()
|
|
@@ -452,6 +452,15 @@ function duplicatePaths(values, base, context) {
|
|
|
452
452
|
seen.add(value.id);
|
|
453
453
|
});
|
|
454
454
|
}
|
|
455
|
+
const unitFactors = z.record(token, z.number().int().min(-32).max(32)).refine((value) => Object.keys(value).length <= 32, "At most 32 unit factors are supported");
|
|
456
|
+
const measureExpression = z.lazy(() => z.discriminatedUnion("op", [
|
|
457
|
+
z.object({ op: z.literal("measure"), measureId: token }).strict(),
|
|
458
|
+
z.object({ op: z.literal("exposure"), exposureId: token }).strict(),
|
|
459
|
+
z.object({ op: z.literal("constant"), value: finite, unitFactors }).strict(),
|
|
460
|
+
z.object({ op: z.literal("add"), terms: z.array(measureExpression).min(1).max(32) }).strict(),
|
|
461
|
+
z.object({ op: z.enum(["subtract", "multiply"]), left: measureExpression, right: measureExpression }).strict(),
|
|
462
|
+
z.object({ op: z.literal("divide"), numerator: measureExpression, denominator: measureExpression }).strict(),
|
|
463
|
+
]));
|
|
455
464
|
export const analysisDefinitionSchema = z
|
|
456
465
|
.object({
|
|
457
466
|
analysisContractVersion: z.literal(ANALYSIS_DEFINITION_CONTRACT_VERSION),
|
|
@@ -546,15 +555,30 @@ export const analysisDefinitionSchema = z
|
|
|
546
555
|
unit: token,
|
|
547
556
|
developmentSemantics: z.enum(["cumulative", "incremental", "point-in-time"]),
|
|
548
557
|
statistic,
|
|
558
|
+
unitFactors: unitFactors.optional(),
|
|
549
559
|
populationScopeId: token,
|
|
550
560
|
condition: predicate.optional(),
|
|
551
561
|
})
|
|
552
562
|
.strict()),
|
|
563
|
+
derivedMeasures: z.array(z.object({
|
|
564
|
+
id: token,
|
|
565
|
+
expression: measureExpression,
|
|
566
|
+
developmentSemantics: z.enum(["cumulative", "incremental", "point-in-time"]),
|
|
567
|
+
}).strict()).max(64).optional(),
|
|
553
568
|
financialTerms: z.array(financialTerm),
|
|
554
569
|
financialAdjustments: z.array(financialAdjustment).optional(),
|
|
555
570
|
})
|
|
556
571
|
.strict()
|
|
557
572
|
.superRefine((definition, context) => {
|
|
573
|
+
try {
|
|
574
|
+
compileAnalysisExpressions(definition);
|
|
575
|
+
}
|
|
576
|
+
catch (error) {
|
|
577
|
+
if (!(error instanceof DiagnosticValidationError))
|
|
578
|
+
throw error;
|
|
579
|
+
for (const issue of error.issues)
|
|
580
|
+
context.addIssue({ code: z.ZodIssueCode.custom, path: ["derivedMeasures"], message: issue.message });
|
|
581
|
+
}
|
|
558
582
|
duplicatePaths(definition.dimensions, "dimensions", context);
|
|
559
583
|
duplicatePaths(definition.scopes.exposure, "scopes.exposure", context);
|
|
560
584
|
duplicatePaths(definition.policySchedule, "policySchedule", context);
|
|
@@ -729,6 +753,16 @@ export const analysisResultSchema = z.object({
|
|
|
729
753
|
numerator: finite.nullable(),
|
|
730
754
|
denominator: finite.nullable(),
|
|
731
755
|
findings: z.array(capabilityFinding),
|
|
756
|
+
derivation: z.object({
|
|
757
|
+
stage: z.literal("post-aggregation"),
|
|
758
|
+
unitFactors,
|
|
759
|
+
components: z.array(z.object({
|
|
760
|
+
kind: z.enum(["measure", "exposure"]), id: token, unit: token,
|
|
761
|
+
value: finite.nullable(), status: z.enum(["available", "unavailable"]),
|
|
762
|
+
contributingObservations: z.number().int().nonnegative(),
|
|
763
|
+
excludedObservations: z.number().int().nonnegative(),
|
|
764
|
+
}).strict()).max(1024),
|
|
765
|
+
}).strict().optional(),
|
|
732
766
|
}).strict()),
|
|
733
767
|
}).strict();
|
|
734
768
|
const scenarioChange = z.discriminatedUnion("kind", [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customizationContracts.js","sourceRoot":"","sources":["../src/customizationContracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"customizationContracts.js","sourceRoot":"","sources":["../src/customizationContracts.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DATA_PACKAGE_VERSION = "0.
|
|
1
|
+
export declare const DATA_PACKAGE_VERSION = "0.9.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const DATA_PACKAGE_VERSION = "0.
|
|
1
|
+
export const DATA_PACKAGE_VERSION = "0.9.0";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actuarial-ts/data",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Data ingestion and ASOP No. 23 support for actuarial-ts: loss/exposure preparation, atomic generalized diagnostic validation, declarative review, and triangle assembly.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"prepublishOnly": "node ../../tools/release/verify-release-attestation.mjs @actuarial-ts/data"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@actuarial-ts/core": "^0.
|
|
52
|
+
"@actuarial-ts/core": "^0.9.0",
|
|
53
53
|
"zod": "^3.25.76"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
@@ -6,9 +6,11 @@ import {
|
|
|
6
6
|
HISTORICAL_DATASET_CONTRACT_VERSION,
|
|
7
7
|
DiagnosticValidationError,
|
|
8
8
|
diagnosticJsonPreflight,
|
|
9
|
+
compileAnalysisExpressions,
|
|
9
10
|
isDiagnosticToken,
|
|
10
11
|
isRealIsoDate,
|
|
11
12
|
type AnalysisDefinition,
|
|
13
|
+
type AnalysisMeasureExpression,
|
|
12
14
|
type AnalysisClassificationDefinition,
|
|
13
15
|
type AnalysisPredicate,
|
|
14
16
|
type AnalysisRecipe,
|
|
@@ -527,6 +529,16 @@ function duplicatePaths(
|
|
|
527
529
|
});
|
|
528
530
|
}
|
|
529
531
|
|
|
532
|
+
const unitFactors = z.record(token, z.number().int().min(-32).max(32)).refine((value) => Object.keys(value).length <= 32, "At most 32 unit factors are supported");
|
|
533
|
+
const measureExpression: z.ZodType<AnalysisMeasureExpression> = z.lazy(() => z.discriminatedUnion("op", [
|
|
534
|
+
z.object({ op: z.literal("measure"), measureId: token }).strict(),
|
|
535
|
+
z.object({ op: z.literal("exposure"), exposureId: token }).strict(),
|
|
536
|
+
z.object({ op: z.literal("constant"), value: finite, unitFactors }).strict(),
|
|
537
|
+
z.object({ op: z.literal("add"), terms: z.array(measureExpression).min(1).max(32) }).strict(),
|
|
538
|
+
z.object({ op: z.enum(["subtract", "multiply"]), left: measureExpression, right: measureExpression }).strict(),
|
|
539
|
+
z.object({ op: z.literal("divide"), numerator: measureExpression, denominator: measureExpression }).strict(),
|
|
540
|
+
]));
|
|
541
|
+
|
|
530
542
|
export const analysisDefinitionSchema = z
|
|
531
543
|
.object({
|
|
532
544
|
analysisContractVersion: z.literal(ANALYSIS_DEFINITION_CONTRACT_VERSION),
|
|
@@ -630,16 +642,28 @@ export const analysisDefinitionSchema = z
|
|
|
630
642
|
unit: token,
|
|
631
643
|
developmentSemantics: z.enum(["cumulative", "incremental", "point-in-time"]),
|
|
632
644
|
statistic,
|
|
645
|
+
unitFactors: unitFactors.optional(),
|
|
633
646
|
populationScopeId: token,
|
|
634
647
|
condition: predicate.optional(),
|
|
635
648
|
})
|
|
636
649
|
.strict(),
|
|
637
650
|
),
|
|
651
|
+
derivedMeasures: z.array(z.object({
|
|
652
|
+
id: token,
|
|
653
|
+
expression: measureExpression,
|
|
654
|
+
developmentSemantics: z.enum(["cumulative", "incremental", "point-in-time"]),
|
|
655
|
+
}).strict()).max(64).optional(),
|
|
638
656
|
financialTerms: z.array(financialTerm),
|
|
639
657
|
financialAdjustments: z.array(financialAdjustment).optional(),
|
|
640
658
|
})
|
|
641
659
|
.strict()
|
|
642
660
|
.superRefine((definition, context) => {
|
|
661
|
+
try { compileAnalysisExpressions(definition); }
|
|
662
|
+
catch (error) {
|
|
663
|
+
if (!(error instanceof DiagnosticValidationError)) throw error;
|
|
664
|
+
for (const issue of error.issues)
|
|
665
|
+
context.addIssue({ code: z.ZodIssueCode.custom, path: ["derivedMeasures"], message: issue.message });
|
|
666
|
+
}
|
|
643
667
|
duplicatePaths(definition.dimensions, "dimensions", context);
|
|
644
668
|
duplicatePaths(definition.scopes.exposure, "scopes.exposure", context);
|
|
645
669
|
duplicatePaths(definition.policySchedule, "policySchedule", context);
|
|
@@ -821,6 +845,16 @@ export const analysisResultSchema: z.ZodType<AnalysisResult> = z.object({
|
|
|
821
845
|
numerator: finite.nullable(),
|
|
822
846
|
denominator: finite.nullable(),
|
|
823
847
|
findings: z.array(capabilityFinding),
|
|
848
|
+
derivation: z.object({
|
|
849
|
+
stage: z.literal("post-aggregation"),
|
|
850
|
+
unitFactors,
|
|
851
|
+
components: z.array(z.object({
|
|
852
|
+
kind: z.enum(["measure", "exposure"]), id: token, unit: token,
|
|
853
|
+
value: finite.nullable(), status: z.enum(["available", "unavailable"]),
|
|
854
|
+
contributingObservations: z.number().int().nonnegative(),
|
|
855
|
+
excludedObservations: z.number().int().nonnegative(),
|
|
856
|
+
}).strict()).max(1024),
|
|
857
|
+
}).strict().optional(),
|
|
824
858
|
}).strict()),
|
|
825
859
|
}).strict();
|
|
826
860
|
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const DATA_PACKAGE_VERSION = "0.
|
|
1
|
+
export const DATA_PACKAGE_VERSION = "0.9.0";
|