Skip to main content
GET
/
v1
/
state
/
{patient_id}
/
views
/
{view_type}
/
blocks
import olira

olira.init(api_key="YOUR_API_KEY")
blocks = olira.list_view_blocks(
    patient_id="8a4fde23-0f1b-4c2a-9d7e-b36c1a5f0e82",
    view_type="symptoms",
)
print([b.block_id for b in blocks.blocks])
ViewBlocksListResult(
    patient_id="8a4fde23-0f1b-4c2a-9d7e-b36c1a5f0e82",
    view_type="symptoms",
    blocks=[
        ViewBlockMeta(block_id="blk-a", block_name="Recent symptoms", has_result=True),
    ],
)
olira.list_view_blocks(patient_id: str, view_type: str) -> ViewBlocksListResult
Requires scope: sdk:state-read

Parameters

patient_id
str
required
Olira patient id.
view_type
str
required
View category slug.

Returns

ViewBlocksListResult
patient_id
str
Patient id.
view_type
str
View slug.
blocks
list[ViewBlockMeta]
Block rows.
blocks[].block_id
str | None
Block id.
blocks[].block_name
str | None
Human-readable block name.
blocks[].has_result
bool
Whether compiled content exists.

Raises

ExceptionWhen
AuthErrorHTTP 401 or 403 — invalid API key or insufficient OAuth scope for this endpoint.
ValidationErrorHTTP 400, 404, or 422 — malformed JSON, unknown patient, or validation failure (message includes response excerpt).
ServerErrorHTTP 409 (e.g. conflicting external identifier) or repeated 5xx after retries; includes status_code when applicable.
RateLimitErrorHTTP 429 — rate limited; check retry_after (seconds).
NetworkErrorConnection timeout, DNS failure, or read error after retries.
import olira

olira.init(api_key="YOUR_API_KEY")
blocks = olira.list_view_blocks(
    patient_id="8a4fde23-0f1b-4c2a-9d7e-b36c1a5f0e82",
    view_type="symptoms",
)
print([b.block_id for b in blocks.blocks])
ViewBlocksListResult(
    patient_id="8a4fde23-0f1b-4c2a-9d7e-b36c1a5f0e82",
    view_type="symptoms",
    blocks=[
        ViewBlockMeta(block_id="blk-a", block_name="Recent symptoms", has_result=True),
    ],
)