OutputSchema es una estructura recursiva tipo JSON-Schema que describe lo que debe retornar cada campo. Todo esquema requiere un campo instructions — así el modelo sabe qué extraer para ese slot.
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.
Required y default
required(booleano, por defectotrue) — cuando esfalse, el campo es opcional: el modelo puede retornarnull.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. Un campo required: true siempre se genera, por lo que su default nunca se usa. Combine required: false 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).