SpecimenLog schemas
Entry schemas for specimen logs: measurements followed over time for one specimen set.
Table of contents
How to use this family
specimenlog:typeselects 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>.jsonand never changes;https://www.brainstem.org/schemas/SpecimenLog/<Type>.jsonis the current version andhttps://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 code | Title | Group | Version | Required properties | Schema |
|---|---|---|---|---|---|
BathSolution | Bath solution log | Solution Logs | 1.0.2 | none | 1.0.2.json |
CO2 | CO₂ log | Environmental Logs | 1.0.2 | none | 1.0.2.json |
CultureMediumChange | Culture medium change | Solution Logs | 1.1.2 | none | 1.1.2.json |
GenericObservation | Generic observation | Observation Logs | 1.0.0 | none | 1.0.0.json |
Humidity | Humidity log | Environmental Logs | 1.0.2 | none | 1.0.2.json |
Oxygenation | Oxygenation log | Environmental Logs | 1.0.2 | none | 1.0.2.json |
PH | pH log | Environmental Logs | 1.0.2 | none | 1.0.2.json |
SliceHealth | Slice health log | Health Logs | 1.0.2 | none | 1.0.2.json |
Temperature | Temperature log | Environmental Logs | 1.0.2 | none | 1.0.2.json |
ViabilityAssay | Viability assay | Health Logs | 1.0.2 | none | 1.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.
| Property | Title | Shape | Required | Allowed values | Meaning |
|---|---|---|---|---|---|
solutionName | Solution name or formulation | text | Identifies the bath solution, such as ACSF or recovery solution. | ||
exchangeType | Exchange type | choice | one of full, partial, continuous_perfusion, measurement_only | How the solution was applied or observed. | |
volume | Volume exchanged | quantity with unit | units µL, mL, L; default {"unit": "mL"} | The volume exchanged or added during this log event. | |
temperature | Solution temperature | quantity with unit | units °C, K; default {"unit": "°C"} | The solution temperature during the recorded exchange or exposure. | |
ph | pH | number | ≥ 0 and ≤ 14 | The measured pH of the bath solution. | |
osmolality | Osmolality | quantity with unit | units mOsm/kg; default {"unit": "mOsm/kg"} | The measured or declared osmolality of the bath solution. | |
flowRate | Perfusion flow rate | quantity with unit | units µL/min, mL/min, L/min; default {"unit": "mL/min"} | The perfusion flow rate during this log event. | |
oxygenationGas | Oxygenation gas mixture | text | Gas composition used to oxygenate the solution, for example 95% O₂ / 5% CO₂. | ||
deviceIdentifier | Device or chamber identifier | text | 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.
| Property | Title | Shape | Required | Allowed values | Meaning |
|---|---|---|---|---|---|
mediumFormulation | Medium formulation | text | The formulation or product identity of the replacement culture medium. | ||
volume | Volume changed | quantity with unit | units µL, mL, L; default {"unit": "mL"} | The volume exchanged or added during this log event. | |
supplements | Supplements added | text | 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.
| Property | Title | Shape | Required | Allowed values | Meaning |
|---|---|---|---|---|---|
co2Percent | CO₂ (%) | number | ≥ 0 and ≤ 100 | The carbon-dioxide concentration in the incubator atmosphere. | |
incubatorId | Incubator ID | text | 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.
| Property | Title | Shape | Required | Allowed values | Meaning |
|---|---|---|---|---|---|
humidityPercent | Relative humidity (%) | number | ≥ 0 and ≤ 100 | The relative humidity of the chamber atmosphere as a percentage. | |
chamberId | Chamber ID | text | 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.
| Property | Title | Shape | Required | Allowed values | Meaning |
|---|---|---|---|---|---|
gasComposition | Gas composition | text | Applied gas mixture, for example 95% O₂ / 5% CO₂. | ||
flowRate | Gas flow rate | quantity with unit | units mL/min, L/min; default {"unit": "L/min"} | The perfusion flow rate during this log event. | |
dissolvedOxygen | Dissolved oxygen or partial pressure | quantity with unit | units %, mg/L, mmHg; default {"unit": "%"} | The dissolved-oxygen concentration or oxygen partial pressure at the measurement location. | |
measurementMethod | Measurement method | choice | one of applied_gas_only, optical_sensor, electrochemical_sensor, blood_gas_analyser, other | The instrument or method used to obtain this measurement. | |
measurementLocation | Measurement location | text | The location within the chamber, bath, or specimen where the value was measured. | ||
deviceIdentifier | Device identifier | text | The identifier of the device, chamber, or instrument used for the measurement. | ||
calibrationReference | Calibration reference | text | 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.
| Property | Title | Shape | Required | Allowed values | Meaning |
|---|---|---|---|---|---|
ph | pH | number | ≥ 0 and ≤ 14 | Measured pH value. | |
measurementTemperature | Measurement temperature | quantity with unit | units °C, K; default {"unit": "°C"} | The temperature at which the pH measurement was made. | |
measurementMethod | Measurement method | choice | one of electrode, indicator_strip, calculated, other | The instrument or method used to obtain this measurement. | |
sampleLocation | Sample location | text | The bath, chamber, or sample location from which the pH value was obtained. | ||
deviceIdentifier | Device identifier | text | The identifier of the device, chamber, or instrument used for the measurement. | ||
calibrationReference | Calibration reference | text | 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.
| Property | Title | Shape | Required | Allowed values | Meaning |
|---|---|---|---|---|---|
temperature | Temperature | quantity with unit | units °C, K, °F; default {"unit": "°C"} | Measured temperature at the stated location and time. | |
measurementLocation | Measurement location | choice | one of bath, incubator, chamber, specimen_surface, storage, room, other | The location within the chamber, bath, or specimen where the value was measured. | |
measurementMethod | Measurement method | choice | one of probe, thermocouple, infrared, incubator_sensor, other | The instrument or method used to obtain this measurement. | |
deviceIdentifier | Device identifier | text | Identifier of the calibrated measurement device when available. | ||
calibrationReference | Calibration reference | text | 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.
| Property | Title | Shape | Required | Allowed values | Meaning |
|---|---|---|---|---|---|
healthRating | Overall health rating | choice | one of excellent, good, fair, poor, non_viable, not_assessed | Overall assessment using the stated method and scoring scale. | |
assessmentMethod | Assessment method | choice | one of visual, electrophysiology, imaging, viability_assay, other | The observation or assay method used to assess slice health. | |
indicators | Observed indicators | multi-select | one of normal_appearance, torn, swollen, opaque, necrotic, contaminated, other | The observed features used to judge slice health. | |
viabilityPercent | Estimated viability (%) | number | ≥ 0 and ≤ 100 | The estimated viable proportion of the assessed cells or tissue as a percentage. | |
scoringScale | Scoring scale or criteria | text | The scoring scale or decision criteria used for the health assessment. | ||
assessmentContext | Assessment context | text | For example recovery, pre-recording, post-recording, or culture day. | ||
assessmentBlinding | Assessment blinding | choice | one of blinded, unblinded, unknown | Whether 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.
| Property | Title | Shape | Required | Allowed values | Meaning |
|---|---|---|---|---|---|
assayType | Assay type | text | The assay or measurement method used to estimate viability. | ||
viabilityPercent | Viability (%) | number | ≥ 0 and ≤ 100 | The estimated viable proportion of the assessed cells or tissue as a percentage. | |
totalCellCount | Total cell count | integer | ≥ 0 | The total number of cells included in the viability calculation. | |
notes | Notes | text | 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.