SDK
DocumentIndex
O que o cofre sabe sobre um paciente/exame/modelo (`docs/PROTOCOL.md §8`): chaves, fluxos, metadado em claro. Todo campo aqui é algo que o próprio cofre lê para rotear e autorizar. O conteúdo clínico nunca aparece neste modelo: ele vive no objeto selado de cada versão, e um resumo selado curto (nome, título) vive em `encrypted_index`, que só quem tem a DEK abre. Exatamente um `security_group_id` por documento: compartilhar um paciente com outra equipe é copiá-lo, nunca compartilhar a chave.
class
Assinatura #
class DocumentIndex(*, document_id: str, workspace_id: str, resource: Literal['patients', 'exams', 'templates'], security_group_id: str, encrypted_keys: dict[str, EncryptedPayload], encrypted_index: EncryptedPayload | None = None, streams: dict[Literal['data', 'file'], DocumentStream] = {}, meta: dict[str, Any] = {}, created_at: str, created_by: str, updated_at: str, updated_by: str | None = None, is_archived: bool = False, is_deleted: bool = False) Bases: BaseModel
O que o cofre sabe sobre um paciente/exame/modelo (docs/PROTOCOL.md §8): chaves, fluxos, metadado em claro.
Todo campo aqui é algo que o próprio cofre lê para rotear e autorizar. O
conteúdo clínico nunca aparece neste modelo: ele vive no objeto selado de
cada versão, e um resumo selado curto (nome, título) vive em
encrypted_index, que só quem tem a DEK abre.
Exatamente um security_group_id por documento: compartilhar um
paciente com outra equipe é copiá-lo, nunca compartilhar a chave.
Membros #
document_id: str #
attribute
workspace_id: str #
attribute
resource: Literal['patients', 'exams', 'templates'] #
attribute
security_group_id: str #
attribute
encrypted_keys: dict[str, EncryptedPayload] #
attribute
encrypted_index: EncryptedPayload | None = None #
attribute
streams: dict[Literal['data', 'file'], DocumentStream] = {} #
attribute
meta: dict[str, Any] = {} #
attribute
created_at: str #
attribute
created_by: str #
attribute
updated_at: str #
attribute
updated_by: str | None = None #
attribute
is_archived: bool = False #
attribute
is_deleted: bool = False #
attribute
stream(name: StreamName = 'data') -> DocumentStream #
method
O estado de um fluxo; um fluxo vazio quando o cofre não mandou nenhum para `name`.
latest_version_id: str | None #
property
Atalho para `stream("data").latest_version_id`.
versions: list[DocumentVersion] #
property
Atalho para `stream("data").versions`.
pending_version_id: str | None #
property
Atalho para `stream("data").pending_version_id`.