Skip to content

Commit

Permalink
feat: add PredictionPayload interface and update historic data extrac…
Browse files Browse the repository at this point in the history
…tion
  • Loading branch information
brett-onions committed Mar 5, 2025
1 parent 6f64135 commit 046c850
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/utils/file-validators.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { PredictionPayload } from "./prediction-payload";

export interface HistoricData{
organizational_unit: string;
period: string;
Expand Down Expand Up @@ -39,8 +41,7 @@ export function validateBucketName(bucket: string): boolean {
}

export function extractHistoricData(jsonStringified: string): HistoricData[]{
const jsonPayload = JSON.parse(jsonStringified);
//@ts-ignore
const jsonPayload = JSON.parse(jsonStringified) as PredictionPayload;
const diseaseCases = jsonPayload.features.find(feature => feature['featureId'] === 'disease_cases')

if(diseaseCases === undefined){
Expand Down
44 changes: 44 additions & 0 deletions src/utils/prediction-payload.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
export interface PredictionPayload {
model_id: string;
features: PredictionPayloadFeature[];
orgUnitsGeoJson: OrgUnitsGeoJSON;
n_periods: number;
}

export interface PredictionPayloadFeature {
featureId: string;
dhis2Id: string;
data: Datum[];
}

export interface Datum {
ou: string;
pe: string;
value: number;
}

export interface OrgUnitsGeoJSON {
type: string;
features: OrgUnitsGeoJSONFeature[];
}

export interface OrgUnitsGeoJSONFeature {
type: string;
id: string;
properties: Properties;
geometry: Geometry;
}

export interface Geometry {
type: string;
coordinates: number[];
}

export interface Properties {
code: string;
name: string;
level: string;
parent: string;
parentGraph: string;
groups: string[];
}

0 comments on commit 046c850

Please sign in to comment.