> ## Documentation Index
> Fetch the complete documentation index at: https://api.idunox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Input Data Preparation Guide

> Questionnaire markers, blood markers, conditional logic, and derived markers for Health Yourself integration with the Idunox Platform.

Last updated: 2026-05-25

## 1) Document Overview and Purpose

This document defines the input-side information that Health Yourself should prepare for the Idunox integration.

The following information should be treated as final for Health Yourself data preparation:

* **Health questionnaire** — the 36 questions, value shapes, accepted values and ranges, required/conditional logic, user-facing explanations, and intake-flow implementation details.
* **Blood markers** — the 14 markers Health Yourself should provide, including required units, accepted intake-validation ranges, and lab-defined reference range data for every marker.

<Note>
  The OpenAPI contract, authentication, endpoint details, response payloads, report delivery, and webhook behaviour are documented in the [API Platform](/platform/core-contract) and [API Reference](/api-reference/endpoint/health) sections. The definitions in this guide (questionnaire fields, blood markers, conditional logic) should be treated as final for data preparation.
</Note>

## 2) Health Questionnaire Markers

The table below defines the subject questionnaire information Health Yourself should collect and validate on its side.

### Column Descriptions

| Column                                  | Description                                                                                                                                                                                                                                                                                                                                                           |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Marker ID**                           | Question identifier for reference and discussion, in the format `Q001`, `Q002`, and so on.                                                                                                                                                                                                                                                                            |
| **Marker Name**                         | Short canonical marker name used in API payloads.                                                                                                                                                                                                                                                                                                                     |
| **User-facing question**                | Exact question text Health Yourself should show to the end consumer.                                                                                                                                                                                                                                                                                                  |
| **User-facing explanation**             | Helper text or tooltip that can be shown to subjects.                                                                                                                                                                                                                                                                                                                 |
| **User-facing answers**                 | The answer options or input range that the subject actually sees and selects. Include the expected value shape such as `string: Yes, No`, `integer: 1..200`, or `number: 0.00..300.00`. Auto-set values that are never shown to the subject are excluded from this column.                                                                                            |
| **Required / conditional logic**        | Whether the question is asked to all subjects or only under certain conditions. This determines the questionnaire flow and which follow-up questions are shown.                                                                                                                                                                                                       |
| **What to do if not shown to the user** | What Health Yourself should prepare in the payload when a conditional question is not shown to the subject.                                                                                                                                                                                                                                                           |
| **Idunox accepted values / range**      | Values accepted by **`POST /v1/submissions`** after your BFF maps intake answers to **canonical JSON** (`canonical_submission_v1`). Lists canonical paths, enums, numeric bounds, and `-1` (not applicable). Intake display strings such as `Male` or `Not applicable` are **not** sent on the wire. See [Canonical submission JSON](/platform/canonical-submission). |
| **Integration notes**                   | Notes for Health Yourself, including branch logic, data handling, and conditional semantics.                                                                                                                                                                                                                                                                          |

### Marker Table

| Marker ID | Marker Name                             | User-facing question                                                                                     | User-facing explanation                                                                                                                                                                                                                                                                                                                                                                                         | User-facing answers                                                        | Required / conditional logic                                                                                                                                               | What to do if not shown to the user                                                               | Idunox accepted values / range                                                                                                                                                                                                                                                                  | Integration notes                                                     |
| --------- | --------------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| Q001      | Sex at Birth                            | What was your sex at birth?                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                                               | `string: Male, Female`                                                     | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.demographics.sexAtBirth`: `male` \| `female`                                                                                                                                                                                                                                           | Map UI `Male`→`male`, `Female`→`female`.                              |
| Q002      | Age (Years)                             | What is your age?                                                                                        | -                                                                                                                                                                                                                                                                                                                                                                                                               | `integer: 0..120`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.demographics.ageYears`: integer `0..120` (or `birthYear` `1900..2100`; at least one required)                                                                                                                                                                                          | Age anchor for the submission.                                        |
| Q003      | Weight (kg)                             | What is your weight (kg)?                                                                                | -                                                                                                                                                                                                                                                                                                                                                                                                               | `number: 0.00..300.00`                                                     | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.measurements.weightKg`: number `0..300`                                                                                                                                                                                                                                                | Decimal values accepted.                                              |
| Q004      | Height (cm)                             | What is your height (cm)?                                                                                | -                                                                                                                                                                                                                                                                                                                                                                                                               | `number: 0.00..250.00`                                                     | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.measurements.heightCm`: number `0..250`                                                                                                                                                                                                                                                | Decimal values accepted.                                              |
| Q005      | Self Rated Health                       | In general how would you rate your overall health?                                                       | Self-rated health helps capture important issues that biomarkers and other questions may miss.                                                                                                                                                                                                                                                                                                                  | `string: Excellent, Good, Fair, Poor`                                      | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.history.overallHealth`: `excellent` \| `very_good` \| `good` \| `fair` \| `poor` \| `unknown`                                                                                                                                                                                          | Map UI labels to lowercase enums (e.g. `Good`→`good`).                |
| Q006      | Smoking Status                          | In terms of cigarette smoking, which case are you?                                                       | Select `Never smoker` only if you have never smoked a single cigarette in your life.                                                                                                                                                                                                                                                                                                                            | `string: Current smoker, Former smoker, Never smoker`                      | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.history.smoking.status`: `never` \| `former` \| `current` \| `prefer_not_to_say`                                                                                                                                                                                                       | Root of the smoking tree.                                             |
| Q007      | Past Smoking Frequency                  | In the past, how often have you smoked cigarettes?                                                       | -                                                                                                                                                                                                                                                                                                                                                                                                               | `string: Just tried once or twice, Only occasionally, On most or all days` | Ask when question Q006 is `Former smoker`, or when question Q006 is `Current smoker` and question Q008 is `Only occasionally`                                              | If question Q006 is `Never smoker`, auto-set as `I have never smoked`; otherwise `Not applicable` | `subject.history.smoking.pastFrequency`: `none` \| `light` \| `moderate` \| `heavy` \| `unknown`. Map `On most or all days`→`heavy`, `Only occasionally`→`light`, `Just tried once or twice`→`light`. **Omit** when `status` is `never` or `current`; **omit** for `former` when not collected. | Never-smoker: omit `smoking` subfields or use `status: "never"` only. |
| Q008      | Current Smoking Frequency               | How often do you smoke cigarettes?                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                                               | `string: Only occasionally, On most or all days`                           | Ask when question Q006 is `Current smoker`                                                                                                                                 | If question Q006 is not `Current smoker`, auto-set as `No`                                        | `subject.history.smoking.currentFrequency`: `none` \| `light` \| `moderate` \| `heavy` \| `unknown`. Map `On most or all days`→`heavy`, `Only occasionally`→`light`, `No`→`none`. **Only when `status: current`**. **Must be omitted for `former` and `never`**.                                | Do not send `"none"` on former smokers — omit the field.              |
| Q009      | Current Cigarettes per Day              | How many cigarettes do you smoke on average each day?                                                    | -                                                                                                                                                                                                                                                                                                                                                                                                               | `integer: 1..200`                                                          | Ask when question Q006 is `Current smoker` and question Q008 is `On most or all days`                                                                                      | `Not applicable`                                                                                  | `subject.history.smoking.currentCigsPerDay`: number `0..200` (or `-1`). **Only when `status: current`** with daily smoking branch. **Omit for `former`**.                                                                                                                                       |                                                                       |
| Q010      | Past Cigarettes per Day                 | How many cigarettes did you smoke on average each day?                                                   | -                                                                                                                                                                                                                                                                                                                                                                                                               | `integer: 1..200`                                                          | Ask when question Q006 is `Former smoker` and question Q007 is `On most or all days`                                                                                       | `Not applicable`                                                                                  | `subject.history.smoking.pastCigsPerDay`: number `0..200` (or `-1`). When `status: former` and heavy past branch. **Omit for `never`/`current`**.                                                                                                                                               |                                                                       |
| Q011      | Age Stopped Smoking                     | At what age did you stop smoking cigarettes?                                                             | -                                                                                                                                                                                                                                                                                                                                                                                                               | `integer: 0..120`                                                          | Ask when question Q006 is `Former smoker` and question Q007 is `On most or all days`                                                                                       | `Not applicable`                                                                                  | `subject.history.smoking.stopAge`: integer `0..120` (or `-1`). **Required when `status: former`** (use `-1` if not applicable on light/occasional former branch). **Omit for `never`/`current`**.                                                                                               |                                                                       |
| Q012      | Age Started Smoking                     | At what age did you start smoking cigarettes?                                                            | -                                                                                                                                                                                                                                                                                                                                                                                                               | `integer: 0..120`                                                          | Ask when question Q006 is `Current smoker` and question Q008 is `On most or all days`, or when question Q006 is `Former smoker` and question Q007 is `On most or all days` | `Not applicable`                                                                                  | `subject.history.smoking.startAge`: integer `0..120` (or `-1`). Heavy current or heavy former branch only; otherwise **omit**.                                                                                                                                                                  |                                                                       |
| Q013      | Doctor Diagnosed Diabetes               | Has a doctor ever told you that you have or have had diabetes?                                           | Select `Yes` if you have any of these conditions: Type 1 (also known as insulin-dependent), Type 2 (also known as non-insulin-dependent), gestational diabetes, diabetes related to malnutrition or pancreatitis, steroid-induced diabetes, maturity-onset diabetes (MODY), or an unknown type of diabetes. Select `No` if none of those apply.                                                                 | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.history.conditions.hasDiabetes`: `boolean` (`true` / `false`)                                                                                                                                                                                                                          |                                                                       |
| Q014      | Doctor Diagnosed Dementia               | Has a doctor ever told you that you have or have had dementia?                                           | Select `Yes` if you have any of these conditions: Alzheimer's disease, Vascular dementia, Frontotemporal dementia, Dementia with Lewy bodies, Dementia in other diseases (for example, Parkinson's disease, Huntington's disease, prion disease, HIV), or Unknown dementia type. Select `No` if none of those apply.                                                                                            | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.history.conditions.hasDementia`: `boolean`                                                                                                                                                                                                                                             |                                                                       |
| Q015      | Doctor Diagnosed Cardio/Cerebrovascular | Has a doctor ever told you that you have or have had any cardiovascular or brain blood vessel disease?   | Select `Yes` if you have any of these conditions: angina or other ischaemic heart disease, heart attack or myocardial infarction, stroke or cerebral infarction, bleeding in or around the brain, endocarditis, heart valve disease, heart block, cardiac arrest, paroxysmal tachycardia, atrial fibrillation or flutter, heart failure, or transient ischaemic attack TIA. Select `No` if none of those apply. | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.history.conditions.hasCardioCerebrovascular`: `boolean`                                                                                                                                                                                                                                |                                                                       |
| Q016      | Doctor Diagnosed Lung Cancer            | Has a doctor ever told you that you have or have had lung cancer?                                        | Select `Yes` if you have any of these conditions: lung cancer, bronchial cancer, tracheal cancer, carcinoma in situ of the lung or bronchus, cancer in another or unspecified part of the respiratory system or inside the chest. Select `No` if none of those apply.                                                                                                                                           | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.history.conditions.hasLungCancer`: `boolean`                                                                                                                                                                                                                                           |                                                                       |
| Q017      | Doctor Diagnosed Kidney Disease         | Has a doctor ever told you that you have or have had chronic kidney disease or end-stage kidney disease? | Select `Yes` if you have any of these conditions: chronic kidney disease of any stage (1 to 5), chronic renal failure or kidney failure, long-term dialysis such as haemodialysis or peritoneal dialysis, or a kidney transplant because of kidney failure. Select `No` if none of those apply.                                                                                                                 | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.history.conditions.hasKidneyDisease`: `boolean`                                                                                                                                                                                                                                        |                                                                       |
| Q018      | Regular Relevant Medication             | Do you regularly take any of the following medications?                                                  | Select `Yes` if you take any of these medications: blood pressure medication, cholesterol-lowering medication, insulin, hormone replacement therapy, oral contraceptive pill, or mini-pill. Select `No` if none of those apply.                                                                                                                                                                                 | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.history.medications.takesRegularMedication`: `boolean` (required when `medications` object is sent)                                                                                                                                                                                    |                                                                       |
| Q019      | Father Alive                            | Is your Biological Father still alive?                                                                   | -                                                                                                                                                                                                                                                                                                                                                                                                               | `string: Yes, No, I do not know`                                           | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.father.aliveStatus`: `alive` \| `deceased` \| `unknown`                                                                                                                                                                                                                  | Map `Yes`→`alive`, `No`→`deceased`, `I do not know`→`unknown`.        |
| Q020      | Father Age at Death                     | What was the age of your Biological Father when he died?                                                 | -                                                                                                                                                                                                                                                                                                                                                                                                               | `integer: 0..120`                                                          | Ask when question Q019 is `No`                                                                                                                                             | `Not applicable`                                                                                  | `subject.familyHistory.father.deathAge`: integer `0..120`. **Required when `aliveStatus: deceased`**. **Omit or `-1` when `alive` or `unknown`**.                                                                                                                                               |                                                                       |
| Q021      | Father Current Age                      | What is the age of your Biological Father?                                                               | -                                                                                                                                                                                                                                                                                                                                                                                                               | `integer: 0..120`                                                          | Ask when question Q019 is `Yes`                                                                                                                                            | `Not applicable`                                                                                  | `subject.familyHistory.father.currentAge`: integer `0..120`. **Required when `aliveStatus: alive`**. **Omit or `-1` when `deceased` or `unknown`**.                                                                                                                                             |                                                                       |
| Q022      | Father Dementia                         | Did your Biological Father ever have Alzheimer's disease or Dementia?                                    | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.father.conditions[]`: include `alzheimer_disease` and/or `dementia` when UI `Yes`                                                                                                                                                                                        | Coded list; omit code when `No`.                                      |
| Q023      | Father Diabetes                         | Did your Biological Father ever have Diabetes?                                                           | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.father.conditions[]`: include `diabetes_mellitus` when UI `Yes`                                                                                                                                                                                                          |                                                                       |
| Q024      | Father Heart Disease                    | Did your Biological Father ever have Heart Disease?                                                      | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.father.conditions[]`: include `cardiovascular_disease` when UI `Yes`                                                                                                                                                                                                     |                                                                       |
| Q025      | Father High Blood Pressure              | Did your Biological Father ever have High Blood Pressure?                                                | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.father.conditions[]`: include `hypertension` when UI `Yes`                                                                                                                                                                                                               |                                                                       |
| Q026      | Father Lung Cancer                      | Did your Biological Father ever have Lung Cancer?                                                        | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.father.conditions[]`: include `lung_cancer` when UI `Yes`                                                                                                                                                                                                                |                                                                       |
| Q027      | Father Stroke                           | Did your Biological Father ever have a Stroke?                                                           | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.father.conditions[]`: include `cerebrovascular_disease` when UI `Yes`                                                                                                                                                                                                    |                                                                       |
| Q028      | Mother Alive                            | Is your Biological Mother still alive?                                                                   | -                                                                                                                                                                                                                                                                                                                                                                                                               | `string: Yes, No, I do not know`                                           | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.mother.aliveStatus`: `alive` \| `deceased` \| `unknown`                                                                                                                                                                                                                  |                                                                       |
| Q029      | Mother Age at Death                     | What was the age of your Biological Mother when she died?                                                | -                                                                                                                                                                                                                                                                                                                                                                                                               | `integer: 0..120`                                                          | Ask when question Q028 is `No`                                                                                                                                             | `Not applicable`                                                                                  | `subject.familyHistory.mother.deathAge`: integer `0..120`. **Required when `aliveStatus: deceased`**. **Omit or `-1` otherwise**.                                                                                                                                                               |                                                                       |
| Q030      | Mother Current Age                      | What is the age of your Biological Mother?                                                               | -                                                                                                                                                                                                                                                                                                                                                                                                               | `integer: 0..120`                                                          | Ask when question Q028 is `Yes`                                                                                                                                            | `Not applicable`                                                                                  | `subject.familyHistory.mother.currentAge`: integer `0..120`. **Required when `aliveStatus: alive`**. **Omit or `-1` otherwise**.                                                                                                                                                                |                                                                       |
| Q031      | Mother Dementia                         | Did your Biological Mother ever have Alzheimer's disease or Dementia?                                    | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.mother.conditions[]`: include `alzheimer_disease` and/or `dementia` when UI `Yes`                                                                                                                                                                                        |                                                                       |
| Q032      | Mother Diabetes                         | Did your Biological Mother ever have Diabetes?                                                           | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.mother.conditions[]`: include `diabetes_mellitus` when UI `Yes`                                                                                                                                                                                                          |                                                                       |
| Q033      | Mother Heart Disease                    | Did your Biological Mother ever have Heart Disease?                                                      | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.mother.conditions[]`: include `cardiovascular_disease` when UI `Yes`                                                                                                                                                                                                     |                                                                       |
| Q034      | Mother High Blood Pressure              | Did your Biological Mother ever have High Blood Pressure?                                                | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.mother.conditions[]`: include `hypertension` when UI `Yes`                                                                                                                                                                                                               |                                                                       |
| Q035      | Mother Lung Cancer                      | Did your Biological Mother ever have Lung Cancer?                                                        | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.mother.conditions[]`: include `lung_cancer` when UI `Yes`                                                                                                                                                                                                                |                                                                       |
| Q036      | Mother Stroke                           | Did your Biological Mother ever have a Stroke?                                                           | This question includes any subtype and any age at diagnosis.                                                                                                                                                                                                                                                                                                                                                    | `string: Yes, No`                                                          | Required                                                                                                                                                                   | Always shown; value required.                                                                     | `subject.familyHistory.mother.conditions[]`: include `cerebrovascular_disease` when UI `Yes`                                                                                                                                                                                                    |                                                                       |

<Note>
  **Numeric sentinel:** `-1` means “not applicable” on optional integer fields (`stopAge`, `currentAge`, `deathAge`, cigarette counts). Prefer **omitting** the key when the branch does not apply.

  **Parent `conditions[]` allowed codes:** `diabetes_mellitus`, `cardiovascular_disease`, `cerebrovascular_disease`, `dementia`, `alzheimer_disease`, `kidney_disease`, `lung_cancer`, `hypertension`, `other_malignancy`, `none_known`, `unknown`.

  **Observation time:** set once on `sourceMetadata.sourceTimestamp` (ISO-8601). Do not send per-question `observedAt` on the canonical body.
</Note>

### Conditional Trees

#### Tree 1: Smoking

```mermaid theme={null}
flowchart TD
  S0["Q006<br/>In terms of cigarette smoking, which case are you?"]
  S0 -->|Answer: Never smoker| N0["- Do not ask, but auto-set Q008 to: No<br/>- Do not ask, but auto-set Q007 to: I have never smoked<br/>- Do not ask, but set Q009, Q010, Q011, and Q012 to: Not applicable"]

  S0 -->|Answer: Current smoker| C0["Q008<br/>How often do you smoke cigarettes?"]
  C0 -->|Answer: Only occasionally| C1["- Ask Q007: In the past, how often have you smoked cigarettes?<br/>- Do not ask, but set Q009, Q010, Q011, and Q012 to: Not applicable"]
  C0 -->|Answer: On most or all days| C2["- Do not ask, but set Q007 to: Not applicable<br/>- Ask Q009: How many cigarettes do you smoke on average each day?<br/>- Ask Q012: At what age did you start smoking cigarettes?<br/>- Do not ask, but set Q010 and Q011 to: Not applicable"]

  S0 -->|Answer: Former smoker| F0["Q007<br/>In the past, how often have you smoked cigarettes?"]
  F0 -->|Answer: Just tried once or twice| F1["- Do not ask, but auto-set Q008 to: No<br/>- Do not ask, but set Q009, Q010, Q011, and Q012 to: Not applicable"]
  F0 -->|Answer: Only occasionally| F1
  F0 -->|Answer: On most or all days| F2["- Do not ask, but auto-set Q008 to: No<br/>- Do not ask, but set Q009 to: Not applicable<br/>- Ask Q010: How many cigarettes did you smoke on average each day?<br/>- Ask Q011: At what age did you stop smoking cigarettes?<br/>- Ask Q012: At what age did you start smoking cigarettes?"]
```

#### Tree 2: Biological Father

```mermaid theme={null}
flowchart TD
  B000["Q019<br/>Is your Biological Father still alive?"]
  B000 -->|Answer: Yes| B001["- Ask Q021: What is the age of your Biological Father?<br/>- Do not ask, but set Q020 to: Not applicable"]
  B000 -->|Answer: No| B002["- Ask Q020: What was the age of your Biological Father when he died?<br/>- Do not ask, but set Q021 to: Not applicable"]
  B000 -->|Answer: I do not know| B003["- Do not ask, but set Q020 to: Not applicable<br/>- Do not ask, but set Q021 to: Not applicable"]
```

#### Tree 3: Biological Mother

```mermaid theme={null}
flowchart TD
  M0["Q028<br/>Is your Biological Mother still alive?"]
  M0 -->|Answer: Yes| M1["- Ask Q030: What is the age of your Biological Mother?<br/>- Do not ask, but set Q029 to: Not applicable"]
  M0 -->|Answer: No| M2["- Ask Q029: What was the age of your Biological Mother when she died?<br/>- Do not ask, but set Q030 to: Not applicable"]
  M0 -->|Answer: I do not know| M3["- Do not ask, but set Q029 to: Not applicable<br/>- Do not ask, but set Q030 to: Not applicable"]
```

## 3) Blood Markers

Health Yourself should prepare only the 14 blood markers listed below for the initial integration.

Values should be numeric and reported in the units shown here. If the measurement lab reports a marker in a different unit, Health Yourself should convert to the Idunox-required unit before submission.

### Column Descriptions

| Column                             | Description                                                                                                                                                                                                               |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Blood marker #**                 | Reference id from the Idunox master guide (`B001`, `B002`, …) for discussions with Idunox.                                                                                                                                |
| **API marker code**                | Code to use in `markers[].code` and `sourceMetadata.markerRanges` keys.                                                                                                                                                   |
| **Blood marker name**              | Full name of the blood marker.                                                                                                                                                                                            |
| **Required unit**                  | Measurement unit the numeric value should be reported in (`markers[].unit`).                                                                                                                                              |
| **Idunox accepted values / range** | What **`POST /v1/submissions`** validates for `markers[]`: numeric `value`, required `unit`, default analytical bounds from the server preset (or your `sourceMetadata.markerRanges` bounds when supplied for that code). |
| **Lab-defined reference range**    | Submit per code as `sourceMetadata.markerRanges.{CODE}` → `{ "unit", "lowerBound", "upperBound" }` (structured object, not a display string).                                                                             |

### Marker Table

| Blood marker # | API marker code  | Blood marker name            | Required unit | Idunox accepted values / range                                                                      | Lab-defined reference range                                             |
| -------------- | ---------------- | ---------------------------- | ------------- | --------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| B001           | `ALBUMIN`        | Albumin                      | `g/L`         | `markers[]`: `{ "code": "ALBUMIN", "value": number, "unit": "g/L" }`; default value bounds `15..60` | `markerRanges.ALBUMIN`: `{ "unit": "g/L", "lowerBound", "upperBound" }` |
| B002           | `ALT`            | Alanine aminotransferase     | `U/L`         | `code` `ALT`; value `3..500`; unit `U/L`                                                            | `markerRanges.ALT` (same object shape)                                  |
| B003           | `ALP`            | Alkaline phosphatase         | `U/L`         | `code` `ALP`; value `5..1500`; unit `U/L`                                                           | `markerRanges.ALP`                                                      |
| B006           | `AST`            | Aspartate aminotransferase   | `U/L`         | `code` `AST`; value `3..1000`; unit `U/L`                                                           | `markerRanges.AST`                                                      |
| B007           | `CALCIUM`        | Calcium                      | `mmol/L`      | `code` `CALCIUM`; value `1..5`; unit `mmol/L`                                                       | `markerRanges.CALCIUM`                                                  |
| B008           | `CHOL`           | Cholesterol                  | `mmol/L`      | `code` `CHOL` (aliases `TOTAL_CHOLESTEROL`, `TCHOL`); value `0.5..18`; unit `mmol/L`                | `markerRanges.CHOL`                                                     |
| B010           | `CYSTATIN_C`     | Cystatin C                   | `mg/L`        | `code` `CYSTATIN_C`; value `0.1..8.99`; unit `mg/L`                                                 | `markerRanges.CYSTATIN_C`                                               |
| B012           | `GGT`            | Gamma glutamyltransferase    | `U/L`         | `code` `GGT`; value `5..1200`; unit `U/L`                                                           | `markerRanges.GGT`                                                      |
| B014           | `HDL`            | Cholesterol HDL              | `mmol/L`      | `code` `HDL`; value `0.05..4.65`; unit `mmol/L`                                                     | `markerRanges.HDL`                                                      |
| B015           | `CRP`            | C-reactive protein           | `mg/L`        | `code` `CRP`; value `0.08..80`; unit `mg/L`                                                         | `markerRanges.CRP`                                                      |
| B018           | `LDL`            | Cholesterol LDL              | `mmol/L`      | `code` `LDL`; value `0.26..10.3`; unit `mmol/L`                                                     | `markerRanges.LDL`                                                      |
| B020           | `PHOSPHATE`      | Phosphate                    | `mmol/L`      | `code` `PHOSPHATE`; value `0.32..6.4`; unit `mmol/L`                                                | `markerRanges.PHOSPHATE`                                                |
| B028           | `URATE`          | Urate                        | `µmol/L`      | `code` `URATE`; value `89..1785`; unit `µmol/L` (μ/µ accepted)                                      | `markerRanges.URATE`                                                    |
| B030           | `HBA1C_MMOL_MOL` | Glycated haemoglobin (HbA1c) | `mmol/mol`    | `code` `HBA1C_MMOL_MOL` (alias `HBA1C`); value `15..515.2`; unit `mmol/mol`                         | `markerRanges.HBA1C_MMOL_MOL`                                           |

**Validation rules (baseline):**

* All **14** codes must appear exactly once in `markers[]` with a numeric `value`.
* `unit` must match the required unit for that code (after normalization).
* If `sourceMetadata.markerRanges.{CODE}` is present, `value` must fall within your `lowerBound..upperBound` and `unit` must match; otherwise the **default analytical bounds** in the Idunox column above apply.
* Optional per-marker `observedAt` (ISO-8601); otherwise use `sourceMetadata.sourceTimestamp` for the panel.

Use the **Idunox** column for intake sanity checks when you are not yet supplying `markerRanges`. When you supply `markerRanges`, those bounds replace the default for validation.

## 4) B2B API payload guidance

Health Yourself should prepare one de-identified submission containing:

* all 36 questionnaire values mapped into **`subject.*`** (following conditionals above),
* all 14 blood markers in **`markers[]`** using canonical codes (`ALBUMIN`, `ALT`, … `HBA1C_MMOL_MOL`),
* structured lab reference intervals in **`sourceMetadata.markerRanges`**,
* a single intake timestamp in **`sourceMetadata.sourceTimestamp`**,
* **`options.requestedOutcomes`** for the four HY wellbeing areas and **`options.requestedOutputs`** for desired artefacts.

<Note>
  The API does **not** accept legacy `markers.healthQuestionnaireMarkers` / `markers.bloodMarkers` or top-level `requestedAssessments`. See [Canonical submission JSON](/platform/canonical-submission) and [Create Submissions](/api-reference/endpoint/submissions).
</Note>

Use the default analytical bounds in section 3 for **intake** sanity checks when lab `markerRanges` are not yet wired; map the panel into `markers[]` before submit.

## 5) Derived Markers

Idunox derives additional input fields from submitted questionnaire and blood markers. Health Yourself should not submit derived markers as separate fields.

Submit the complete 36 questionnaire markers and 14 blood markers listed above. The platform derives the remaining model inputs during processing.
