{
  "openapi" : "3.0.3",
  "info" : {
    "title" : "HubSaúde — API FHIR R4 (derivada do CapabilityStatement)",
    "version" : "0.3.20",
    "description" : "ATENÇÃO: documento DERIVADO e NÃO-NORMATIVO. O contrato FHIR normativo do HubSaúde é o conjunto de CapabilityStatements publicado no FHIR NPM Package hubsaude-capabilities (.tgz), aplicado pelo gateway em runtime. Este OpenAPI é regenerado a cada build a partir desses CapabilityStatements para uso por ferramentas do ecossistema OpenAPI. Em caso de divergência, prevalece o CapabilityStatement."
  },
  "servers" : [ {
    "url" : "https://hub.saude.go.gov.br/fhir",
    "description" : "Endpoint FHIR R4 do HubSaúde (gateway)"
  } ],
  "tags" : [ {
    "name" : "Account",
    "description" : "Interações declaradas para o recurso Account"
  }, {
    "name" : "AllergyIntolerance",
    "description" : "Interações declaradas para o recurso AllergyIntolerance"
  }, {
    "name" : "AuditEvent",
    "description" : "Interações declaradas para o recurso AuditEvent"
  }, {
    "name" : "Bundle",
    "description" : "Interações declaradas para o recurso Bundle"
  }, {
    "name" : "Condition",
    "description" : "Interações declaradas para o recurso Condition"
  }, {
    "name" : "Consent",
    "description" : "Interações declaradas para o recurso Consent"
  }, {
    "name" : "DocumentReference",
    "description" : "Interações declaradas para o recurso DocumentReference"
  }, {
    "name" : "Encounter",
    "description" : "Interações declaradas para o recurso Encounter"
  }, {
    "name" : "Immunization",
    "description" : "Interações declaradas para o recurso Immunization"
  }, {
    "name" : "MedicationRequest",
    "description" : "Interações declaradas para o recurso MedicationRequest"
  }, {
    "name" : "Observation",
    "description" : "Interações declaradas para o recurso Observation"
  }, {
    "name" : "Patient",
    "description" : "Interações declaradas para o recurso Patient"
  }, {
    "name" : "Procedure",
    "description" : "Interações declaradas para o recurso Procedure"
  }, {
    "name" : "Subscription",
    "description" : "Interações declaradas para o recurso Subscription"
  }, {
    "name" : "Task",
    "description" : "Interações declaradas para o recurso Task"
  } ],
  "paths" : {
    "/metadata" : {
      "get" : {
        "operationId" : "capabilities",
        "summary" : "Recupera o CapabilityStatement do servidor (interação capabilities)",
        "tags" : [ "CapabilityStatement" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CapabilityStatement"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Account" : {
      "post" : {
        "operationId" : "createAccount",
        "summary" : "Submete criação assíncrona de Account (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Account" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Account em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/AllergyIntolerance" : {
      "post" : {
        "operationId" : "createAllergyIntolerance",
        "summary" : "Submete criação assíncrona de AllergyIntolerance (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "AllergyIntolerance" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso AllergyIntolerance em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchAllergyIntolerance",
        "summary" : "Busca recursos AllergyIntolerance por parâmetros (interação search-type)",
        "tags" : [ "AllergyIntolerance" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/AllergyIntolerance/{id}" : {
      "get" : {
        "operationId" : "readAllergyIntolerance",
        "summary" : "Lê o AllergyIntolerance corrente pelo id (interação read)",
        "tags" : [ "AllergyIntolerance" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso AllergyIntolerance",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "put" : {
        "operationId" : "updateAllergyIntolerance",
        "summary" : "Submete atualização assíncrona de AllergyIntolerance (interação update)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "AllergyIntolerance" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso AllergyIntolerance",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso AllergyIntolerance em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/AuditEvent" : {
      "post" : {
        "operationId" : "createAuditEvent",
        "summary" : "Submete criação assíncrona de AuditEvent (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "AuditEvent" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso AuditEvent em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchAuditEvent",
        "summary" : "Busca recursos AuditEvent por parâmetros (interação search-type)",
        "tags" : [ "AuditEvent" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/AuditEvent/{id}" : {
      "get" : {
        "operationId" : "readAuditEvent",
        "summary" : "Lê o AuditEvent corrente pelo id (interação read)",
        "tags" : [ "AuditEvent" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso AuditEvent",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/Bundle" : {
      "post" : {
        "operationId" : "createBundle",
        "summary" : "Submete criação assíncrona de Bundle (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Bundle" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Bundle em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/Bundle/{id}" : {
      "get" : {
        "operationId" : "readBundle",
        "summary" : "Lê o Bundle corrente pelo id (interação read)",
        "tags" : [ "Bundle" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Bundle",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/Condition" : {
      "post" : {
        "operationId" : "createCondition",
        "summary" : "Submete criação assíncrona de Condition (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Condition" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Condition em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchCondition",
        "summary" : "Busca recursos Condition por parâmetros (interação search-type)",
        "tags" : [ "Condition" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Condition/{id}" : {
      "get" : {
        "operationId" : "readCondition",
        "summary" : "Lê o Condition corrente pelo id (interação read)",
        "tags" : [ "Condition" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Condition",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "put" : {
        "operationId" : "updateCondition",
        "summary" : "Submete atualização assíncrona de Condition (interação update)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Condition" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Condition",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Condition em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/Consent" : {
      "post" : {
        "operationId" : "createConsent",
        "summary" : "Submete criação assíncrona de Consent (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Consent" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Consent em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchConsent",
        "summary" : "Busca recursos Consent por parâmetros (interação search-type)",
        "tags" : [ "Consent" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Consent/_history" : {
      "get" : {
        "operationId" : "historyTypeConsent",
        "summary" : "Histórico do tipo Consent (interação history-type)",
        "tags" : [ "Consent" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Consent/{id}" : {
      "delete" : {
        "operationId" : "deleteConsent",
        "summary" : "Submete remoção assíncrona de Consent (interação delete)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Consent" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Consent",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "patch" : {
        "operationId" : "patchConsent",
        "summary" : "Submete alteração parcial assíncrona de Consent (interação patch)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Consent" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Consent",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Consent em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "readConsent",
        "summary" : "Lê o Consent corrente pelo id (interação read)",
        "tags" : [ "Consent" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Consent",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "put" : {
        "operationId" : "updateConsent",
        "summary" : "Submete atualização assíncrona de Consent (interação update)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Consent" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Consent",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Consent em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/Consent/{id}/_history" : {
      "get" : {
        "operationId" : "historyInstanceConsent",
        "summary" : "Histórico de uma instância de Consent (interação history-instance)",
        "tags" : [ "Consent" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Consent",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/Consent/{id}/_history/{vid}" : {
      "get" : {
        "operationId" : "vreadConsent",
        "summary" : "Lê uma versão específica do Consent (interação vread)",
        "tags" : [ "Consent" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Consent",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "vid",
          "in" : "path",
          "required" : true,
          "description" : "Id da versão do recurso Consent",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/DocumentReference" : {
      "post" : {
        "operationId" : "createDocumentReference",
        "summary" : "Submete criação assíncrona de DocumentReference (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "DocumentReference" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso DocumentReference em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchDocumentReference",
        "summary" : "Busca recursos DocumentReference por parâmetros (interação search-type)",
        "tags" : [ "DocumentReference" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/DocumentReference/{id}" : {
      "get" : {
        "operationId" : "readDocumentReference",
        "summary" : "Lê o DocumentReference corrente pelo id (interação read)",
        "tags" : [ "DocumentReference" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso DocumentReference",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/Encounter" : {
      "post" : {
        "operationId" : "createEncounter",
        "summary" : "Submete criação assíncrona de Encounter (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Encounter" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Encounter em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchEncounter",
        "summary" : "Busca recursos Encounter por parâmetros (interação search-type)",
        "tags" : [ "Encounter" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Encounter/{id}" : {
      "patch" : {
        "operationId" : "patchEncounter",
        "summary" : "Submete alteração parcial assíncrona de Encounter (interação patch)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Encounter" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Encounter",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Encounter em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "readEncounter",
        "summary" : "Lê o Encounter corrente pelo id (interação read)",
        "tags" : [ "Encounter" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Encounter",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "put" : {
        "operationId" : "updateEncounter",
        "summary" : "Submete atualização assíncrona de Encounter (interação update)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Encounter" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Encounter",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Encounter em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/Encounter/{id}/_history/{vid}" : {
      "get" : {
        "operationId" : "vreadEncounter",
        "summary" : "Lê uma versão específica do Encounter (interação vread)",
        "tags" : [ "Encounter" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Encounter",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "vid",
          "in" : "path",
          "required" : true,
          "description" : "Id da versão do recurso Encounter",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/Immunization" : {
      "post" : {
        "operationId" : "createImmunization",
        "summary" : "Submete criação assíncrona de Immunization (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Immunization" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Immunization em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchImmunization",
        "summary" : "Busca recursos Immunization por parâmetros (interação search-type)",
        "tags" : [ "Immunization" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Immunization/{id}" : {
      "get" : {
        "operationId" : "readImmunization",
        "summary" : "Lê o Immunization corrente pelo id (interação read)",
        "tags" : [ "Immunization" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Immunization",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/MedicationRequest" : {
      "post" : {
        "operationId" : "createMedicationRequest",
        "summary" : "Submete criação assíncrona de MedicationRequest (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "MedicationRequest" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso MedicationRequest em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchMedicationRequest",
        "summary" : "Busca recursos MedicationRequest por parâmetros (interação search-type)",
        "tags" : [ "MedicationRequest" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/MedicationRequest/{id}" : {
      "get" : {
        "operationId" : "readMedicationRequest",
        "summary" : "Lê o MedicationRequest corrente pelo id (interação read)",
        "tags" : [ "MedicationRequest" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso MedicationRequest",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "put" : {
        "operationId" : "updateMedicationRequest",
        "summary" : "Submete atualização assíncrona de MedicationRequest (interação update)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "MedicationRequest" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso MedicationRequest",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso MedicationRequest em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/Observation" : {
      "post" : {
        "operationId" : "createObservation",
        "summary" : "Submete criação assíncrona de Observation (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Observation" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Observation em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchObservation",
        "summary" : "Busca recursos Observation por parâmetros (interação search-type)",
        "tags" : [ "Observation" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Observation/{id}" : {
      "get" : {
        "operationId" : "readObservation",
        "summary" : "Lê o Observation corrente pelo id (interação read)",
        "tags" : [ "Observation" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Observation",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "put" : {
        "operationId" : "updateObservation",
        "summary" : "Submete atualização assíncrona de Observation (interação update)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Observation" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Observation",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Observation em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/Observation/{id}/_history/{vid}" : {
      "get" : {
        "operationId" : "vreadObservation",
        "summary" : "Lê uma versão específica do Observation (interação vread)",
        "tags" : [ "Observation" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Observation",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "vid",
          "in" : "path",
          "required" : true,
          "description" : "Id da versão do recurso Observation",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/Patient" : {
      "post" : {
        "operationId" : "createPatient",
        "summary" : "Submete criação assíncrona de Patient (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Patient" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Patient em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchPatient",
        "summary" : "Busca recursos Patient por parâmetros (interação search-type)",
        "tags" : [ "Patient" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Patient/_history" : {
      "get" : {
        "operationId" : "historyTypePatient",
        "summary" : "Histórico do tipo Patient (interação history-type)",
        "tags" : [ "Patient" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Patient/{id}" : {
      "delete" : {
        "operationId" : "deletePatient",
        "summary" : "Submete remoção assíncrona de Patient (interação delete)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Patient" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Patient",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "patch" : {
        "operationId" : "patchPatient",
        "summary" : "Submete alteração parcial assíncrona de Patient (interação patch)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Patient" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Patient",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Patient em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "readPatient",
        "summary" : "Lê o Patient corrente pelo id (interação read)",
        "tags" : [ "Patient" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Patient",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "put" : {
        "operationId" : "updatePatient",
        "summary" : "Submete atualização assíncrona de Patient (interação update)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Patient" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Patient",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Patient em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/Patient/{id}/_history" : {
      "get" : {
        "operationId" : "historyInstancePatient",
        "summary" : "Histórico de uma instância de Patient (interação history-instance)",
        "tags" : [ "Patient" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Patient",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/Patient/{id}/_history/{vid}" : {
      "get" : {
        "operationId" : "vreadPatient",
        "summary" : "Lê uma versão específica do Patient (interação vread)",
        "tags" : [ "Patient" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Patient",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "vid",
          "in" : "path",
          "required" : true,
          "description" : "Id da versão do recurso Patient",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    },
    "/Procedure" : {
      "post" : {
        "operationId" : "createProcedure",
        "summary" : "Submete criação assíncrona de Procedure (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Procedure" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Procedure em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchProcedure",
        "summary" : "Busca recursos Procedure por parâmetros (interação search-type)",
        "tags" : [ "Procedure" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Procedure/{id}" : {
      "get" : {
        "operationId" : "readProcedure",
        "summary" : "Lê o Procedure corrente pelo id (interação read)",
        "tags" : [ "Procedure" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Procedure",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "put" : {
        "operationId" : "updateProcedure",
        "summary" : "Submete atualização assíncrona de Procedure (interação update)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Procedure" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Procedure",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Procedure em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/Subscription" : {
      "post" : {
        "operationId" : "createSubscription",
        "summary" : "Submete criação assíncrona de Subscription (interação create)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Subscription" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Subscription em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      },
      "get" : {
        "operationId" : "searchSubscription",
        "summary" : "Busca recursos Subscription por parâmetros (interação search-type)",
        "tags" : [ "Subscription" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Subscription/{id}" : {
      "delete" : {
        "operationId" : "deleteSubscription",
        "summary" : "Submete remoção assíncrona de Subscription (interação delete)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Subscription" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Subscription",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "get" : {
        "operationId" : "readSubscription",
        "summary" : "Lê o Subscription corrente pelo id (interação read)",
        "tags" : [ "Subscription" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecursoFhir"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Subscription",
          "schema" : {
            "type" : "string"
          }
        } ]
      },
      "put" : {
        "operationId" : "updateSubscription",
        "summary" : "Submete atualização assíncrona de Subscription (interação update)",
        "description" : "Escrita exclusivamente assíncrona: não existe variante síncrona. Exige Prefer: respond-async, Accept compatível e Idempotency-Key; o resultado é consultado por GET /Task/{id}, com HTTP 200 e estado/resultado em Task.status/Task.output.",
        "tags" : [ "Subscription" ],
        "x-hubsaude-required-request-headers" : [ "Prefer", "Accept", "Idempotency-Key" ],
        "responses" : {
          "202" : {
            "description" : "Escrita aceita para processamento assíncrono; corpo vazio.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI de GET /Task/{id} para acompanhamento da operação.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes da primeira consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Preference-Applied" : {
                "description" : "Preferência honrada; valor respond-async.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação da escrita aceita.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Idempotency-Replayed" : {
                "description" : "Ausente na aceitação inicial; obrigatório com valor true no replay terminal.",
                "required" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "409" : {
            "description" : "Replay concorrente: a submissão original ainda está em processamento; OperationOutcome FHIR R4 com issue.code=duplicate.",
            "headers" : {
              "Content-Location" : {
                "description" : "URI da Task já reservada para a submissão original.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Intervalo sugerido, em segundos, antes de repetir a consulta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "correlation-id" : {
                "description" : "Identificador obrigatório de correlação do replay concorrente.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              },
              "traceparent" : {
                "description" : "Contexto de rastreamento W3C propagado ou gerado para a resposta.",
                "required" : true,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                },
                "example" : {
                  "resourceType" : "OperationOutcome",
                  "issue" : [ {
                    "severity" : "error",
                    "code" : "duplicate",
                    "diagnostics" : "Comando com esta Idempotency-Key já está em processamento; aguarde Retry-After ou acompanhe a Task."
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Prefer: respond-async ou Accept ausente; OperationOutcome com issue.code=required.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "406" : {
            "description" : "O header Accept não permite formato de resposta suportado; detalhes em OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Subscription",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Deve conter a preferência respond-async conforme RFC 7240.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Idempotency-Key",
          "in" : "header",
          "required" : true,
          "description" : "Obrigatório. Identifica de forma estável a submissão para replay idempotente.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "required" : true,
          "description" : "Recurso Subscription em JSON FHIR R4",
          "content" : {
            "application/fhir+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecursoFhir"
              }
            }
          }
        }
      }
    },
    "/Task" : {
      "get" : {
        "operationId" : "searchTask",
        "summary" : "Busca recursos Task por parâmetros (interação search-type)",
        "tags" : [ "Task" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Bundle"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{id}" : {
      "get" : {
        "operationId" : "readTask",
        "summary" : "Consulta a Task e seu status/output (interação read)",
        "tags" : [ "Task" ],
        "responses" : {
          "200" : {
            "description" : "Sucesso",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Task"
                }
              }
            }
          },
          "default" : {
            "description" : "Erro — detalhes em um OperationOutcome.",
            "content" : {
              "application/fhir+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OperationOutcome"
                }
              }
            }
          }
        },
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "description" : "Id lógico do recurso Task",
          "schema" : {
            "type" : "string"
          }
        } ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "RecursoFhir" : {
        "type" : "object",
        "description" : "Recurso FHIR R4 em JSON. A estrutura normativa é definida pelos StructureDefinitions dos IGs do HubSaúde.",
        "required" : [ "resourceType" ],
        "properties" : {
          "resourceType" : {
            "type" : "string"
          }
        },
        "additionalProperties" : true
      },
      "Bundle" : {
        "type" : "object",
        "description" : "Bundle FHIR R4 (resultados de search e history).",
        "required" : [ "resourceType" ],
        "properties" : {
          "resourceType" : {
            "type" : "string"
          }
        },
        "additionalProperties" : true
      },
      "OperationOutcome" : {
        "type" : "object",
        "description" : "OperationOutcome FHIR R4 com detalhes do erro.",
        "required" : [ "resourceType" ],
        "properties" : {
          "resourceType" : {
            "type" : "string"
          }
        },
        "additionalProperties" : true
      },
      "CapabilityStatement" : {
        "type" : "object",
        "description" : "CapabilityStatement FHIR R4 — o contrato normativo.",
        "required" : [ "resourceType" ],
        "properties" : {
          "resourceType" : {
            "type" : "string"
          }
        },
        "additionalProperties" : true
      },
      "Task" : {
        "type" : "object",
        "description" : "Task FHIR R4 de acompanhamento. GET retorna HTTP 200 quando existente; o andamento está em status e o resultado terminal em output.",
        "required" : [ "resourceType" ],
        "properties" : {
          "resourceType" : {
            "type" : "string"
          }
        },
        "additionalProperties" : true
      }
    }
  },
  "x-hubsaude" : {
    "derivadoDe" : "hubsaude-capabilities#0.3.20",
    "normativo" : false,
    "aviso" : "ATENÇÃO: documento DERIVADO e NÃO-NORMATIVO. O contrato FHIR normativo do HubSaúde é o conjunto de CapabilityStatements publicado no FHIR NPM Package hubsaude-capabilities (.tgz), aplicado pelo gateway em runtime. Este OpenAPI é regenerado a cada build a partir desses CapabilityStatements para uso por ferramentas do ecossistema OpenAPI. Em caso de divergência, prevalece o CapabilityStatement.",
    "escritaAsyncOnly" : true,
    "preferRespondAsyncObrigatorio" : true,
    "acceptObrigatorio" : true,
    "idempotencyKeyObrigatorio" : true,
    "acompanhamento" : "GET /Task/{id} retorna 200; estado e resultado em Task.status e Task.output.",
    "bulkData" : "O polling Task-based não substitui o endpoint de status HTTP genérico do Bulk Data $export.",
    "fontes" : [ {
      "url" : "https://hubsaude.go.gov.br/fhir/CapabilityStatement/avante",
      "version" : "1.2.3",
      "origem" : "hubsaude-capabilities#0.3.20"
    }, {
      "url" : "https://hubsaude.go.gov.br/fhir/CapabilityStatement/hubsaude-core",
      "version" : "1.2.1",
      "origem" : "hubsaude-capabilities#0.3.20"
    } ]
  }
}
