OutputSchema é uma estrutura recursiva que descreve cada campo. instructions informa ao modelo o que extrair. Os campos codificados declaram seu catálogo e seus valores de origem.
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.
Campos codificados
Um campocode ou codeList deve ser uma propriedade de um objeto. Seus valores de origem devem ser propriedades irmãs não codificadas desse objeto.
system identifica o catálogo. source aceita um nome de propriedade irmã ou uma lista; quando omitido, usa todas as propriedades irmãs não codificadas. maxOptions é pelo menos 1 e seu valor padrão é 1.
A API preserva essas declarações ao criar e consultar o modelo. GET retorna source como lista, ou null quando omitido. A geração de códigos requer um resolvedor na configuração de geração.
Required e default
required(booleano, padrãofalse) — um campo é opcional por padrão: o modelo pode retornarnull. Definarequired: truepara forçar o modelo a sempre gerar um valor.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 (o padrão). Um campo required: true é sempre gerado, então seu default nunca é aplicado. Deixe required no padrão e combine-o 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).
Limites
A raiz da seção tem profundidade 0. Cada propriedade aninhada ou item de array acrescenta um nível para os campos gerados.