Skip to main content
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 campo code 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ão false) — um campo é opcional por padrão: o modelo pode retornar null. Defina required: true para forçar o modelo a sempre gerar um valor.
  • 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 (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-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

A raiz da seção tem profundidade 0. Cada propriedade aninhada ou item de array acrescenta um nível para os campos gerados.

Exemplo — seção objeto

Exemplo — campo opcional com default

Exemplo — array de itens estruturados