Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DECISION: the API will return only results, with IDs of the associated input objects attached. The endpoint may be extended to also provide the inputs

There is no ReviewDB endpoint for DTA reviews - only the backend backend.

JSON model for analysis results

...

Code Block
titleAnalysis results model
RESULT: {
    result: <OVERALL_RESULT_DATA>,
    (dataRows: <ROW_RESULT_DATA>*|subgroups: [{
        result: <SUBGROUP_RESULT_DATA>
        dataRows: <ROW_RESULT_DATA>*
    }])
}


RESULT_DATA: {
    estimable: true|false,
    mean: 0.0, (NOTE: ON THE SCALE OF ANALYSIS, SO LOG SCALE FOR LOG SCALE OUTCOMES)
    se: 0.0,
    ciStart: 0.0, (NOTE: ON THE SCALE OF ANALYSIS, SO LOG SCALE FOR LOG SCALE OUTCOMES)
    ciEnd: 0.0, (NOTE: ON THE SCALE OF ANALYSIS, SO LOG SCALE FOR LOG SCALE OUTCOMES)
    weight: 0.0
}


ROW_RESULT_DATA extends RESULT_DATA: {
    id: "<studyDataRowId>"
}

SUBGROUP_RESULT_DATA extends RESULT_DATA: {
    id: "<subgroupAnalysisId>",
    heterogeneity: {
        chiSquared: 0.0,
        degreesOfFreedom: 0,
        iSquared: 0.0,
        p: 0.0,
        (tauSquared: 0.0)? (NOTE: FOR RANDOM EFFECTS)
    },
    overallEffect: {
        z: 0.0,
        p: 0.0
    },
    (experimental: {
        total: 0
    },
    control: {
        total: 0
    })?
}

OVERALL_RESULT_DATA extends SUBGROUP_RESULT_DATA: {
    (subgroupDifferences: {
        chiSquared: 0.0,
        degreesOfFreedom: 0,
        iSquared: 0.0,
        p: 0.0},)?
    (experimental: {
        total: 0
    },
    control: {
        total: 0
    })?
}


Code Block
titleDTA Analysis result model
RESULT: {
    diagnosticDataRows: [
        <DIAGNOSTIC_RESULT_TEST_DATA_ROW>*
    ] |
    diagnosticSubgroups: [{
        meanD: 0.0,
        a: 0.0,
        b: 0.0,
        diagnosticDataRows: [
            <DIAGNOSTIC_RESULT_TEST_DATA_ROW>*
        ] 
    },...]
}

DIAGNOSTIC_RESULT_TEST_DATA_ROW: {
    sensitivity: 0.0,
    sensCiStart: 0.0,
    sensCiEnd: 0.0,
    specificity: 0.0,
    specCiStart: 0.0,
    specCiEnd: 0.0
}

DIAGNOSTIC_RESULT_TEST_DATA_ROW_FOR_SUBGROUP extends DIAGNOSTIC_RESULT_TEST_DATA_ROW: {
    d: 0.0,
    s: 0.0,
    weight: 0.0,
    scaleSpec: 0.0,
    scaleSens: 0.0
}

Platforms/protocol for analysis backend

...

Code Block
titleInput structure
INPUT: [{
    options: {
        dataType: "DICHOTOMOUS"|"CONTINUOUS"|"CONTRAST"|"OBSERVED_EXPECTED", (NOTE: CONTRAST maps to INVERSE_VARIANCE in RM5/Review DB)
        method: "MH"|"GIV"|"PETO",
        effectMeasure: "MD"|"SMD"|"LOR"|"LRR"|"RD"|"PetoLOR"|"Generic",
        model: "FIXED"|"RANDOM",
        ciLevelRows: 0.90|0.95|0.99,
        ciLevelTotals: 0.90|0.95|0.99,
        swapEvents: true|false,
        totals: "YES"|"SUB"|"NO"
    },    
    dataRows: [
        <DICHOTOMOUS_DATA>*|<CONTINUOUS_DATA>*|<CONTRAST_DATA>*|<OBSERVED_EXPECTED_DATA>*
    ]|
    subgroups: [{
        dataRows: [
	        <DICHOTOMOUS_DATA>*|<CONTINUOUS_DATA>*|<CONTRAST_DATA>*|<OBSERVED_EXPECTED_DATA>*
        },...]
    },...]
}]


DICHOTOMOUS_DATA: {
    experimental: {
        events: 0,
        total: 0
    },
    control: {
        events: 0,
        total: 0
    }
}
    
CONTINUOUS_DATA: {
    experimental: {
        total: 0,
        mean: 0.0,
        sd: 0.0
    },
    control: {
        total: 0,
        mean: 0.0,
        sd: 0.0
    }
}

CONTRAST_DATA: {
    estimate: 0.0,
    se: 0.0
    (experimental: {
        total: 0
    },
    control: {
        total: 0
    })?
}

OBSERVED_EXPECTED_DATA: {
    oe: 0.0,
    variance: 0.0,
    (experimental: {
        events: 0,
        total: 0
    },
    control: {
        events: 0,
        total: 0
    })?
}

...

Code Block
titleDTA input structure
INPUT: [{
    diagnosticOptions: {
        scale: "EQUAL" | "SAMPLE_SIZE" | "INVERSE_SE" | "COVARIATE"
        weight: "EQUAL" | "SAMPLE_SIZE" | "INVERSE_V",
        ciLevel: 0.90|0.95|0.99
    },
    diagnosticDataRows: [
        <DIAGNOSTIC_TEST_DATA_ROW>*
    ] |
	diagnosticSubgroups: [{
        diagnosticDataRows: [
            <DIAGNOSTIC_TEST_DATA_ROW>*
        ]
    },...]
}]

DIAGNOSTIC_TEST_DATA_ROW: {
    tp: 0,
    fp: 0,
    fn: 0,
    tn: 0,
    covariateScaleValue?: 0.0
}

...