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.

Nesta página

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`.