A Smart Block is a structured field you drop into a chart. Where the rest of a note is prose, a smart block holds real values (a blood pressure, a pain score, a range of motion measurement) which means what you record in it can be repeated across visits, put in a log, and drawn on a graph.
Insert one by typing / in the chart editor and picking it from the list.
The built-in blocks
| Block | What it records |
|---|---|
| Vitals | Blood pressure, heart rate, temperature, respiration, oxygen saturation |
| Pain | Pain score, site, quality, aggravating and easing factors |
| Range of Motion (ROM) | Joint, movement, degrees, side |
| Body Diagram | Marks on an interactive body outline |
| Odontogram | Dental chart |
| Periodontal / Perio Screening | Pocket depths and screening scores |
| Spinal | Segmental findings |
| Exercise | Prescribed exercises with sets, reps and load |
| Regimen | A course of something taken or applied over time |
| Laser Hair Removal | Settings, fluence, spot size, area treated |
| Electrolysis | Session settings and area treated |
| Microneedling | Depth, passes, area |
| Before / After | A paired image comparison |
| Annotation | A drawn markup over an image |
| Product Recommendation | Products suggested to the patient, linked to inventory |
| Questionnaire | A scored instrument |
| Generic Table | A free-form table |
| Tabular Log | Any block, repeated as rows over time |
| Instruction Step | A step in a patient instruction |
| AI Scribe | A recorded, transcribed consultation; see AI Scribe |
Logs: the same block over time
Most measurement blocks can be converted to a log. A log holds the same block repeated as rows, so a course of care reads as a table of readings rather than as the same block pasted six times.
- Add a row from the log’s own add button
- Each row carries its own timestamp
- The log’s grid uses the same field definitions the block itself does, so a value can never appear in one and be missing from the other
- Logs are what the AI Scribe appends to when a consultation covers several readings
Not every block can be a log. A consultation is not a row, so the AI Scribe block has no Convert to tabular option.
Graphing
Any block whose fields are measurements feeds the graphing system automatically. There is no separate step that maps a block’s fields onto a chart; a field is defined once and the graph reads the same definition, so renaming or re-roling a field can never leave a graph pointing at something that stopped existing.
See Analytics & Graphs for building and saving graph definitions.
Custom Smart Blocks
Custom Smart Blocks let your clinic author its own block (the fields it needs, in the order it needs them) without waiting on a release. An authored block renders, stores and graphs exactly like a built-in one.
Navigate to Smart Blocks in the sidebar (/dashboard/smart-blocks).
Creating a block
- Click New block
- Give it a name
- Add fields, choosing a type for each
- Use the live preview beside the editor to see the block as clinicians will
- Save
Field types
| Type | Use for |
|---|---|
| Text | Short free text |
| Textarea | Longer free text |
| Number | A numeric measurement |
| Date | A date |
| Boolean | A yes/no switch |
| Select | One value from a list you author |
| Multi | Several values from a list |
| Combobox | One value, searchable, from a long list |
| Combobox (multi) | Several values, searchable |
| Slider | A number chosen on a track, with min, max and step |
| Range | A span between two numbers |
| Duration | An elapsed time |
| Likert | An answer on a shared scale |
| Scored | A questionnaire item answered on a named scale |
| Sum | A total over other scored fields, optionally banded |
Measures and dimensions
Each field also declares whether it is a measure (something you plot) or a dimension (something you split or filter by). That declaration is what makes an authored block graphable the moment you save it.
Authored questionnaires
A scored questionnaire is not a separate thing in Zdrovia. It is a custom block with a shared answer scale, one scored field per question, and a sum over them.
- The scale is declared once on the block and referenced by every item, so changing the wording of the answers is one edit rather than nine
- A total stays empty until every question is answered. A partial total is a phantom low score, and on a clinical chart that is the most damaging thing a scoring system can get wrong
- Bands turn a total into a severity label, and the label becomes something you can filter and split by on a graph
- Totals don’t chain. A sum cannot take another sum as its source; the same number is one sum over the same questions
Zdrovia validates all of this when you save: the scale has to exist, every source of a total has to exist, a total can’t include itself, and bands can’t overlap or run backwards.
Versions
Saved definitions are revisioned. A block already written into a patient’s chart keeps pointing at the revision it was authored from, so editing a definition never rewrites what a clinician recorded last month. New instances pick up the current revision.
Where blocks come from
| Source | Who authors it |
|---|---|
| Built-in blocks | Shipped with Zdrovia |
| Custom blocks | Your clinic, from the Smart Blocks page |
| Chart templates | A template can ship blocks pre-placed, so every note made from it starts with the right structure |
See Charts for building chart templates.
Tips
- Build the block before you build the template. A template that places your own blocks gets a clinician to a complete, structured note in one click.
- Mark the fields you actually plot as measures: a graph can only offer what a field declares.
- Use a log rather than repeating a block. Six pasted vitals blocks are six things to read; one log is a table.
- Author questionnaires as custom blocks rather than as free text. A scored total that Zdrovia computed is a number you can graph; one typed into a paragraph is not.
