Skip to main content
When a consultation ends, Squire returns a structured JSON object containing metadata about the session alongside the generated report data. The shape of the report data depends on the template used. Use this reference to map Squire’s output fields to your EHR’s data model.

Metadata fields

Every response includes the following top-level metadata fields, regardless of which template was used.
id
string
required
Unique identifier for the consultation.
input_language
string
required
Language code of the input audio (e.g., "nl", "en").
output_language
string
required
Language code of the generated report.
start_datetime
string
required
ISO 8601 timestamp indicating when the consultation started.
end_datetime
string
ISO 8601 timestamp indicating when the consultation ended. null for in-progress dictations.
report_status
string
required
Status of the report: "intermediate" for consultations in progress, or "final" for finished consultations.
generation_result
string
required
Outcome of the report generation process. See Report generation results below for all possible values.
generation_result_message
string
User-friendly message with more detail about the generation outcome.
generation_result_message is translated into the report’s output language and is intended to be displayed directly to end users in your EHR interface.

Report generation results

The generation_result field tells you whether Squire produced a usable report. When the result is not success, check generation_result_message for a user-ready explanation, or use the code to display your own localized message.
ValueReportDescription
successReport was generated successfully.
audio_quality_degradedA report was generated, but poor audio quality may have affected accuracy.
transcript_too_shortThe transcription was too short to generate a meaningful report.
audio_too_shortThe audio duration was too short to generate a report.
no_medical_contextNo medical context was detected in the consultation audio.
When generation_result indicates a failure, the structured data fields may be empty or contain placeholder content.

Templates

The data array in the response contains one or more consultation episodes. Each episode has a template identifier and a sections array. The available templates are:
Template IDDescriptionSections
soap_new_complaint_apiSOAP note for general practitionerssubjective, objective, assessment, plan
soap_urgent_care_apiSOAP note for GP urgent care / out-of-hours consultationssubjective, objective, assessment, plan
specialist_general_apiContact note for specialist consultations (all sections include a summary field)reason_for_encounter, anamnesis, clinical_research, diagnosis, action_plan, conclusion
specialist_general_free_text_apiSpecialist contact note with all sections combined into a single free-text stringfree_text
dictation_apiDictation session returning the raw transcriptiontranscription
To define your own output structure, see Templates.

Fields per section

Each section in the response contains a fields object. The available fields depend on the template and section.

Subjective

Field IDTypeDescription
summaryobjectNarrative summary of the section.
medical_codingarrayList of medical codes. Included only for soap_urgent_care_api.

Objective

Field IDTypeDescription
summaryobjectNarrative summary of the section.
vital_signsarrayList of measured vital signs.

Assessment

Field IDTypeDescription
summaryobjectNarrative summary of the section. Included only for soap_urgent_care_api.
medical_codingarrayList of medical codes.

Plan

Field IDTypeDescription
summaryobjectNarrative summary of the section.
prescribed_medicationarrayList of prescribed medications.
sick_noteobjectSick note date range.

Transcription

The transcription section is used exclusively by the dictation_api template.
Field IDTypeDescription
fixedobjectFinalized text. Contains a text string property.
ongoingobjectIn-progress transcription that may still change as the user speaks. Contains a text string property.

Field reference

summary

A text summary of the parent section.
PropertyTypeDescription
textstringThe textual summary of the section.

vital_signs

An array of vital sign measurements recorded during the consultation.
PropertyTypeDescription
vital_sign_idstringIdentifier of the vital sign. See the table below for available values.
unitstringUnit of measurement.
valuenumberMeasured value.
Available vital signs:
Vital sign IDUnitDescription
weightkgPatient weight.
heightcmPatient height.
bminullBody Mass Index.
systolic_blood_pressuremmHgSystolic blood pressure.
diastolic_blood_pressuremmHgDiastolic blood pressure.
heart_ratebpmHeart rate.
blood_glucosemg/dLBlood glucose level.
body_temperature°CBody temperature.
peak_flowL/minPeak expiratory flow.
oxygen_saturation%Oxygen saturation (SpO₂).

medical_coding

An array of diagnosis codes extracted from the consultation.
PropertyTypeDescription
icd_10stringICD-10 code.
icpc_2stringICPC-2 code.
ibuistringIBUI code.
descriptionstringHuman-readable description of the diagnosis.

prescribed_medication

An array of medications prescribed during the consultation.
PropertyTypeDescription
active_ingredientstringActive ingredient name.
brand_namestringBrand name of the medication.
pharmaceutical_formstringPharmaceutical form (e.g., tablet, syrup).
pack_sizestringPack size.
atc_codestringATC code of the active ingredient.

sick_note

Date range for a sick note issued during the consultation. Both dates are in YYYY-MM-DD format.
PropertyTypeDescription
from_datestringStart date of the sick note.
to_datestringEnd date of the sick note.

JSON examples

{
  "id": "yoEh163Y1cHih2S1",
  "input_language": "nl",
  "output_language": "nl",
  "start_datetime": "2025-01-01T12:00:00Z",
  "end_datetime": "2025-01-01T12:30:00Z",
  "report_status": "final",
  "generation_result": "success",
  "data": [
    {
      "episode": "Consultation",
      "template": "soap_new_complaint_api",
      "sections": [
        {
          "section_id": "subjective",
          "fields": {
            "summary": {}
          }
        },
        {
          "section_id": "objective",
          "fields": {
            "summary": {},
            "vital_signs": []
          }
        },
        {
          "section_id": "assessment",
          "fields": {
            "medical_coding": []
          }
        },
        {
          "section_id": "plan",
          "fields": {
            "summary": {},
            "prescribed_medication": [],
            "sick_note": {}
          }
        }
      ]
    }
  ]
}
{
  "id": "qIe6WDaV1dN5f6y2",
  "input_language": "nl",
  "output_language": "nl",
  "start_datetime": "2025-10-02T08:59:13.128Z",
  "end_datetime": "2025-10-02T09:00:20.405Z",
  "report_status": "final",
  "generation_result": "success",
  "data": [
    {
      "episode": "Consultation",
      "template": "specialist_general_free_text_api",
      "sections": [
        {
          "section_id": "free_text",
          "fields": {
            "summary": {
              "text": "Reden van het bezoek:\n---------------------\nDiarree sinds drie dagen.\n\nAnamnese:\n---------\nSinds drie dagen frequente, waterige en losse ontlasting. Gemiddeld zes tot zeven keer per dag naar het toilet. Klachten van pijn in de onderbuik. Diarree heeft invloed op dagelijkse activiteiten.\n\nKlinisch onderzoek:\n-------------------\n-\n\nDiagnose:\n---------\nAcute diarree, waarschijnlijk infectieus van aard.\n\nBehandelingsplan:\n-----------------\n-\n\nConclusie:\n----------\nAcute diarree met frequente, waterige ontlasting en onderbuikspijn sinds drie dagen."
            }
          }
        }
      ]
    }
  ]
}
{
  "id": "j3hc7l6TgeKL15GQ",
  "input_language": "nl",
  "output_language": "en",
  "start_datetime": "2025-10-10T14:33:49.646709+00:00",
  "end_datetime": null,
  "report_status": "intermediate",
  "generation_result": "success",
  "data": [
    {
      "episode": "Dictation",
      "template": "dictation_api",
      "sections": [
        {
          "section_id": "transcription",
          "fields": {
            "fixed": {
              "text": "Patient complains of a sore throat."
            },
            "ongoing": {
              "text": "And a headache for the last two"
            }
          }
        }
      ]
    }
  ]
}
{
  "id": "8lbv3SJ7ObqOWh11",
  "input_language": "nl",
  "output_language": "nl",
  "start_datetime": "2026-01-30T09:58:01.276040+00:00",
  "end_datetime": "2026-01-30T09:58:29.360123+00:00",
  "report_status": "final",
  "generation_result": "success",
  "generation_result_message": null,
  "data": [
    {
      "episode": "Episode 1",
      "template": "soap_new_complaint_api",
      "sections": [
        {
          "section_id": "subjective",
          "fields": {
            "summary": {
              "text": "Koorts, 39°C. Ziektebriefje gevraagd."
            }
          }
        },
        {
          "section_id": "objective",
          "fields": {
            "summary": {
              "text": "Lichaamstemperatuur 39°C."
            },
            "vital_signs": [
              {
                "vital_sign_id": "body_temperature",
                "unit": "°C",
                "value": 39
              }
            ]
          }
        },
        {
          "section_id": "assessment",
          "fields": {
            "medical_coding": [
              {
                "icd_10": "R50",
                "icpc_2": "A03",
                "ibui": "10049426",
                "description": "koorts van onbekende oorsprong"
              }
            ]
          }
        },
        {
          "section_id": "plan",
          "fields": {
            "summary": {
              "text": "Ibuprofen en paracetamol voorgeschreven. Ziektebriefje tot einde week."
            },
            "prescribed_medication": [
              {
                "active_ingredient": "Ibuprofen",
                "brand_name": null,
                "pharmaceutical_form": null,
                "pack_size": null,
                "atc_code": "M01AE01"
              },
              {
                "active_ingredient": "Paracetamol",
                "brand_name": null,
                "pharmaceutical_form": null,
                "pack_size": null,
                "atc_code": "N02BE01"
              }
            ],
            "sick_note": {
              "from_date": "2026-01-30",
              "to_date": "2026-01-31"
            }
          }
        }
      ]
    }
  ]
}