SpecimenLog schemas

Entry schemas for specimen logs: measurements followed over time for one specimen set.

Table of contents

  1. How to use this family
  2. Quick type map
  3. Solution Logs
    1. Bath solution log
    2. Culture medium change
  4. Environmental Logs
    1. CO₂ log
    2. Humidity log
    3. Oxygenation log
    4. pH log
    5. Temperature log
  5. Health Logs
    1. Slice health log
    2. Viability assay
  6. Observation Logs
    1. Generic observation

How to use this family

  • specimenlog: type selects the type; each log entry added through the entry actions is validated against it.
  • Every version is published at https://www.brainstem.org/schemas/SpecimenLog/<Type>/<version>.json and never changes; https://www.brainstem.org/schemas/SpecimenLog/<Type>.json is the current version and https://www.brainstem.org/schemas/SpecimenLog/<Type>/ lists the versions. See Public schemas.
  • Quantities are objects {"value": <number>, "unit": "<code>"}. Property paths with [] are inside a repeatable list of rows. The server sets the schema version field itself.

Quick type map

Type codeTitleGroupVersionRequired propertiesSchema
BathSolutionBath solution logSolution Logs1.0.2none1.0.2.json
CO2CO₂ logEnvironmental Logs1.0.2none1.0.2.json
CultureMediumChangeCulture medium changeSolution Logs1.1.2none1.1.2.json
GenericObservationGeneric observationObservation Logs1.0.0none1.0.0.json
HumidityHumidity logEnvironmental Logs1.0.2none1.0.2.json
OxygenationOxygenation logEnvironmental Logs1.0.2none1.0.2.json
PHpH logEnvironmental Logs1.0.2none1.0.2.json
SliceHealthSlice health logHealth Logs1.0.2none1.0.2.json
TemperatureTemperature logEnvironmental Logs1.0.2none1.0.2.json
ViabilityAssayViability assayHealth Logs1.0.2none1.0.2.json

Solution Logs

Bath solution log

  • type code BathSolution · version 1.0.2 · schema

Logs the bath solution applied to a specimen set, such as ACSF, with exchange type, volume, temperature, pH, osmolality, perfusion flow rate, oxygenation gas and the chamber used.

PropertyTitleShapeRequiredAllowed valuesMeaning
solutionNameSolution name or formulationtext  Identifies the bath solution, such as ACSF or recovery solution.
exchangeTypeExchange typechoice one of full, partial, continuous_perfusion, measurement_onlyHow the solution was applied or observed.
volumeVolume exchangedquantity with unit units µL, mL, L; default {"unit": "mL"}The volume exchanged or added during this log event.
temperatureSolution temperaturequantity with unit units °C, K; default {"unit": "°C"}The solution temperature during the recorded exchange or exposure.
phpHnumber ≥ 0 and ≤ 14The measured pH of the bath solution.
osmolalityOsmolalityquantity with unit units mOsm/kg; default {"unit": "mOsm/kg"}The measured or declared osmolality of the bath solution.
flowRatePerfusion flow ratequantity with unit units µL/min, mL/min, L/min; default {"unit": "mL/min"}The perfusion flow rate during this log event.
oxygenationGasOxygenation gas mixturetext  Gas composition used to oxygenate the solution, for example 95% O₂ / 5% CO₂.
deviceIdentifierDevice or chamber identifiertext  The identifier of the device, chamber, or instrument used for the measurement.

Illustrative payload:

{
    "solutionName": "text",
    "exchangeType": "full"
}

Culture medium change

  • type code CultureMediumChange · version 1.1.2 · schema

Logs a change of culture medium, with the replacement medium formulation, volume exchanged and any supplements added.

PropertyTitleShapeRequiredAllowed valuesMeaning
mediumFormulationMedium formulationtext  The formulation or product identity of the replacement culture medium.
volumeVolume changedquantity with unit units µL, mL, L; default {"unit": "mL"}The volume exchanged or added during this log event.
supplementsSupplements addedtext  Supplements added to the medium during this change, including concentrations when known.

Illustrative payload:

{
    "mediumFormulation": "text",
    "volume": {
        "value": 1,
        "unit": "mL"
    }
}

Environmental Logs

CO₂ log

  • type code CO2 · version 1.0.2 · schema

Logs the CO₂ concentration of the incubator atmosphere holding a culture, with the incubator ID.

PropertyTitleShapeRequiredAllowed valuesMeaning
co2PercentCO₂ (%)number ≥ 0 and ≤ 100The carbon-dioxide concentration in the incubator atmosphere.
incubatorIdIncubator IDtext  The laboratory identifier of the incubator used for this culture.

Illustrative payload:

{
    "co2Percent": 1.0,
    "incubatorId": "text"
}

Humidity log

  • type code Humidity · version 1.0.2 · schema

Logs the relative humidity of the chamber atmosphere holding a culture, with the chamber ID.

PropertyTitleShapeRequiredAllowed valuesMeaning
humidityPercentRelative humidity (%)number ≥ 0 and ≤ 100The relative humidity of the chamber atmosphere as a percentage.
chamberIdChamber IDtext  The laboratory identifier of the chamber used for this culture.

Illustrative payload:

{
    "humidityPercent": 1.0,
    "chamberId": "text"
}

Oxygenation log

  • type code Oxygenation · version 1.0.2 · schema

Logs oxygenation of a bath or chamber, with the applied gas mixture and flow rate, measured dissolved oxygen or partial pressure, and the measurement method, location, device and calibration.

PropertyTitleShapeRequiredAllowed valuesMeaning
gasCompositionGas compositiontext  Applied gas mixture, for example 95% O₂ / 5% CO₂.
flowRateGas flow ratequantity with unit units mL/min, L/min; default {"unit": "L/min"}The perfusion flow rate during this log event.
dissolvedOxygenDissolved oxygen or partial pressurequantity with unit units %, mg/L, mmHg; default {"unit": "%"}The dissolved-oxygen concentration or oxygen partial pressure at the measurement location.
measurementMethodMeasurement methodchoice one of applied_gas_only, optical_sensor, electrochemical_sensor, blood_gas_analyser, otherThe instrument or method used to obtain this measurement.
measurementLocationMeasurement locationtext  The location within the chamber, bath, or specimen where the value was measured.
deviceIdentifierDevice identifiertext  The identifier of the device, chamber, or instrument used for the measurement.
calibrationReferenceCalibration referencetext  Calibration date, certificate, or reference for the oxygen sensor.

Illustrative payload:

{
    "gasComposition": "text",
    "flowRate": {
        "value": 1,
        "unit": "L/min"
    }
}

pH log

  • type code PH · version 1.0.2 · schema

Logs a pH measurement of a bath, chamber or sample, with measurement temperature, method, location, device and calibration.

PropertyTitleShapeRequiredAllowed valuesMeaning
phpHnumber ≥ 0 and ≤ 14Measured pH value.
measurementTemperatureMeasurement temperaturequantity with unit units °C, K; default {"unit": "°C"}The temperature at which the pH measurement was made.
measurementMethodMeasurement methodchoice one of electrode, indicator_strip, calculated, otherThe instrument or method used to obtain this measurement.
sampleLocationSample locationtext  The bath, chamber, or sample location from which the pH value was obtained.
deviceIdentifierDevice identifiertext  The identifier of the device, chamber, or instrument used for the measurement.
calibrationReferenceCalibration referencetext  Calibration date, buffers, certificate, or reference for the pH device.

Illustrative payload:

{
    "ph": 1.0,
    "measurementTemperature": {
        "value": 1,
        "unit": "°C"
    }
}

Temperature log

  • type code Temperature · version 1.0.2 · schema

Logs a temperature measurement in a chamber, bath or specimen, with measurement location, method, device and calibration.

PropertyTitleShapeRequiredAllowed valuesMeaning
temperatureTemperaturequantity with unit units °C, K, °F; default {"unit": "°C"}Measured temperature at the stated location and time.
measurementLocationMeasurement locationchoice one of bath, incubator, chamber, specimen_surface, storage, room, otherThe location within the chamber, bath, or specimen where the value was measured.
measurementMethodMeasurement methodchoice one of probe, thermocouple, infrared, incubator_sensor, otherThe instrument or method used to obtain this measurement.
deviceIdentifierDevice identifiertext  Identifier of the calibrated measurement device when available.
calibrationReferenceCalibration referencetext  Calibration date, certificate, or reference for the measurement device.

Illustrative payload:

{
    "temperature": {
        "value": 1,
        "unit": "°C"
    },
    "measurementLocation": "bath"
}

Health Logs

Slice health log

  • type code SliceHealth · version 1.0.2 · schema

Logs an assessment of slice health, with overall rating, assessment method and scoring criteria, observed indicators, estimated viability, the context (e.g., before or after recording) and assessor blinding.

PropertyTitleShapeRequiredAllowed valuesMeaning
healthRatingOverall health ratingchoice one of excellent, good, fair, poor, non_viable, not_assessedOverall assessment using the stated method and scoring scale.
assessmentMethodAssessment methodchoice one of visual, electrophysiology, imaging, viability_assay, otherThe observation or assay method used to assess slice health.
indicatorsObserved indicatorsmulti-select one of normal_appearance, torn, swollen, opaque, necrotic, contaminated, otherThe observed features used to judge slice health.
viabilityPercentEstimated viability (%)number ≥ 0 and ≤ 100The estimated viable proportion of the assessed cells or tissue as a percentage.
scoringScaleScoring scale or criteriatext  The scoring scale or decision criteria used for the health assessment.
assessmentContextAssessment contexttext  For example recovery, pre-recording, post-recording, or culture day.
assessmentBlindingAssessment blindingchoice one of blinded, unblinded, unknownWhether and how the assessor was blinded during the health assessment.

Illustrative payload:

{
    "healthRating": "excellent",
    "assessmentMethod": "visual"
}

Viability assay

  • type code ViabilityAssay · version 1.0.2 · schema

Logs a viability assay on cells or tissue, with the assay type, percent viability and total cell count.

PropertyTitleShapeRequiredAllowed valuesMeaning
assayTypeAssay typetext  The assay or measurement method used to estimate viability.
viabilityPercentViability (%)number ≥ 0 and ≤ 100The estimated viable proportion of the assessed cells or tissue as a percentage.
totalCellCountTotal cell countinteger ≥ 0The total number of cells included in the viability calculation.
notesNotestext  A concise qualification of the viability assay result.

Illustrative payload:

{
    "assayType": "text",
    "viabilityPercent": 1.0
}

Observation Logs

Generic observation

  • type code GenericObservation · version 1.0.0 · schema

Logs a free-form observation on a specimen set when no specific log type fits.

This type has no type-specific properties: send an empty object. Everything meaningful is recorded on the record itself or on its material usage rows.