Skip to main content
OutputSchema é uma estrutura recursiva tipo JSON-Schema que descreve o que cada campo deve retornar. Todo schema exige o campo instructions — é assim que o modelo sabe o que extrair para aquele slot.
Esta página descreve o formato de autoria que você envia ao criar um template. Quando você lê um template de volta com GET /v1/medical-record-configurations/{id}, cada schema object retorna suas properties como um array ordenado de entradas { "key": ..., "schema": ... } — não o formato de mapa mostrado aqui. O conteúdo é idêntico; só muda a serialização.

Tipos

Estas são as únicas keywords que a API persiste. Qualquer outra é descartada silenciosamente — veja Não suportado. Valores de format suportados para string: date-time, date, time, duration, email, uuid, ipv4, ipv6. Uma string com format date, time ou date-time é retornada como um valor ISO 8601.

Required e default

  • required (booleano, padrão true) — quando false, o campo é opcional: o modelo pode retornar null.
  • default (apenas campos folha) — substituído quando o modelo não extrai nada (retorna null). Seu tipo deve corresponder ao type do campo; para um campo enum deve ser um dos valores do enum.
Interação: default só tem efeito quando required é false. Um campo required: true é sempre gerado, então seu default nunca é aplicado. Combine required: false com default para garantir um valor de fallback quando o encontro não menciona o campo.

Não suportado

As seguintes keywords de JSON-Schema são aceitas pelo parser da requisição mas descartadas silenciosamente — nunca são persistidas nem afetam a geração. Não dependa delas.

Opções de enum

enum (em campos string, incluindo os items de um array de seleção múltipla) aceita duas formas:
  • Strings simples — o texto exibido é o valor armazenado: "enum": ["Low", "Medium", "High"].
  • Objetos { label, value } — desacoplam a exibição do armazenamento: mostra-se label, armazena-se value (um código estável como um id de catálogo, ICD-10 ou SNOMED). A geração retorna o value; o label é apenas para exibição, então os rótulos podem ser renomeados ou traduzidos sem alterar o que sua integração recebe.
value deve ser único dentro de um campo. As duas formas podem ser misturadas em uma mesma lista (uma string simples é tratada como label == value).

Limites

Exemplo — seção objeto

Exemplo — campo opcional com default

Exemplo — array de itens estruturados