OutputSchema es una estructura recursiva que describe cada campo. instructions indica al modelo qué extraer. Los campos codificados declaran su catálogo y sus valores de origen.
Esta página describe el formato de autoría que envías al crear una plantilla. Cuando lees una
plantilla de vuelta con
GET /v1/medical-record-configurations/{id}, cada esquema object retorna
sus properties como un array ordenado de entradas { "key": ..., "schema": ... } — no el formato
de mapa mostrado aquí. El contenido es idéntico; solo cambia la serialización.Tipos
Estas son las únicas keywords que la API persiste. Cualquier otra se descarta silenciosamente — ver No soportado.
Valores
format soportados para string: date-time, date, time, duration, email, uuid, ipv4, ipv6. Un string con format date, time o date-time se retorna como un valor ISO 8601.
Campos codificados
Un campocode o codeList debe ser una propiedad de un objeto. Sus valores de origen deben ser propiedades hermanas no codificadas de ese objeto.
system identifica el catálogo. source acepta un nombre de propiedad hermana o una lista; si se omite, usa todas las propiedades hermanas no codificadas. maxOptions es al menos 1 y su valor predeterminado es 1.
La API conserva estas declaraciones al crear y consultar la plantilla. GET devuelve source como lista, o null si se omite. La generación de códigos requiere un resolvedor en la configuración de generación.
Required y default
required(booleano, por defectofalse) — un campo es opcional por defecto: el modelo puede retornarnull. Fijarequired: truepara forzar al modelo a generar siempre un valor.default(solo campos hoja) — se sustituye cuando el modelo no extrae nada (retornanull). Su tipo debe coincidir con eltypedel campo; para un campoenumdebe ser uno de los valores del enum.
default solo aplica cuando required es false (el valor por defecto). Un campo required: true siempre se genera, por lo que su default nunca se usa. Deja required en su valor por defecto y combínalo con default para garantizar un valor de respaldo cuando el encuentro no menciona el campo.
No soportado
Las siguientes keywords de JSON-Schema son aceptadas por el parser de la petición pero descartadas silenciosamente — nunca se persisten ni afectan la generación. No dependas de ellas.Opciones de enum
enum (en campos string, incluidos los items de un array de selección múltiple) acepta dos formas:
- Cadenas planas — el texto mostrado es el valor almacenado:
"enum": ["Low", "Medium", "High"]. - Objetos
{ label, value }— desacoplan la visualización del almacenamiento: se muestralabel, se almacenavalue(un código estable como un id de catálogo, ICD-10 o SNOMED). La generación retorna elvalue; ellabeles solo para visualización, por lo que se pueden renombrar o traducir las etiquetas sin cambiar lo que recibe tu integración.
value debe ser único dentro de un campo. Las dos formas pueden mezclarse en una misma lista (una cadena plana se trata como label == value).
Límites
La raíz de la sección tiene profundidad 0. Cada propiedad anidada o elemento de array añade un nivel para los campos generados.