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ãotrue) — quandofalse, o campo é opcional: o modelo pode retornarnull.default(apenas campos folha) — substituído quando o modelo não extrai nada (retornanull). Seu tipo deve corresponder aotypedo campo; para um campoenumdeve ser um dos valores do enum.
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-selabel, armazena-sevalue(um código estável como um id de catálogo, ICD-10 ou SNOMED). A geração retorna ovalue; olabelé 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).