Cardiology clinic software that computes Mean Arterial Pressure on every visit
Avinya Plus is a generic, configurable clinic platform that fits cardiology: every vitals entry auto-derives Mean Arterial Pressure (diastolic + (systolic − diastolic) ÷ 3), flags out-of-range BP and heart rate against age-aware ranges, and you build a named cardiac risk-factor and BP log in the block builder. India-first, in early access.
A heart patient is a BP trend, not a single reading
Cardiology lives on numbers that only mean something over time: systolic, diastolic, pulse pressure, the MAP a registrar still works out on the back of a card. On paper, last month's BP sits in a different folder from today's, and nobody computes MAP at the desk. A generic EMR captures a blood pressure but never derives Mean Arterial Pressure and treats 180/110 the same as 120/80: no flag, no derived pressure, no place to log the risk factors (smoking, diabetes, family history) that decide management. You end up eyeballing a stack of slips and trusting memory for whether the trend is going the right way.
Built for how clinics actually work.
Mean Arterial Pressure, computed on every visit
When your nurse records systolic and diastolic, the platform derives MAP automatically using diastolic + (systolic − diastolic) ÷ 3, rounded to one decimal, and shows it as its own column on the vitals table with the formula spelled out in the header hint. You never key MAP by hand or reach for a calculator. It appears live as the BP is typed in the vitals form and again on the saved record, so perfusion pressure is there for every cardiology review. This auto-derived MAP is the one thing here a generic EMR does not do.
Age-aware BP and heart-rate flagging (shared platform behaviour)
Every BP and pulse is judged against reference ranges that shift by the patient's age: adult systolic 90–140 and diastolic 60–90, with a distinct child (<12y) BP band and distinct infant (<2y) and child heart-rate bands. A reading below range is coloured with the info style (low), above range with the danger style (high), so a hypertensive 160/100 or a bradycardic 48 bpm is visible at a glance instead of buried in a number grid. The colouring is driven by getVitalStatus, not a human eyeballing the slip. This is the same flagging every clinic gets, useful for cardiology, but not built only for it.
A named cardiac risk-factor and BP log you build yourself
In the block-template builder (on by default) you build one artifact (call it the Cardiac Risk-Factor & BP Log) as a block-database table: one row per visit with columns you define from 23 field types, a date, number columns for systolic, diastolic and pulse, and selects for smoking, diabetes, dyslipidaemia and family history. Conditional formatting paints a cell when its rule fires, for example a 'when' formula like prop("Systolic") > 140 styled danger, so a stage-2 reading turns red on the sheet. Each visit is a new row, so the whole BP history reads as one growing table on the record, though it stays a dated table, not a plotted trend line.
Pulse-pressure and averages math, no spreadsheet
The same builder ships a ~30-function formula engine, so on your BP log you compute pulse pressure as a column (systolic minus diastolic), average a column of systolic readings with avg(), or surface a single headline number in a KPI block. Numbers format the Indian way via formatNumber (en-IN grouping, e.g. 1,20,000) and money via formatCurrency (₹, en-IN) when the sheet doubles as a procedure estimate. It is your math, run on the platform, not a side Excel file the front desk forgets to update.
Type-ahead ranked for the cardiac drugs you actually prescribe
Prescription search ranks medicines by what your clinic prescribes most, learned per clinic from the last 90 days. The migration that built this names cardiology directly, noting a cardiologist almost never writes Paracetamol so a global ranking would mislead the autocomplete. So amlodipine, telmisartan, atorvastatin and the antiplatelets you use float to the top, custom formulations you stock can be added inline, and every drug is allergy cross-checked at prescribing time. A clinic with no history falls back to alphabetical. Generic prescribing is covered on our prescription page; here the point is the ranking learns your cardiac mix.
What is not pre-built, and that is the honest part
Avinya Plus ships no cardiology clinical module: there is no ECG capture, no echo report template, no Framingham or ASCVD risk-score engine, and no BP trend chart or sparkline; blood pressure is stored as dated structured numbers, not plotted on a line graph. We will not pretend otherwise. What is real is that MAP is auto-derived on every visit and you build your own risk-factor and BP log in the configurable builder, run on the same platform (GST billing, scheduling, role-based access, per-clinic (RLS) isolation) every clinic uses. You interpret the cardiac risk; the platform keeps the numbers dated, flagged, and together.
At a glance
- Mean Arterial Pressure is auto-derived on every vitals entry using diastolic + (systolic − diastolic) ÷ 3, rounded to one decimal, and shown as its own column: the one cardiology-relevant calculation a generic EMR omits.
- Blood pressure and heart rate are flagged against age-aware reference ranges (adult systolic 90–140, diastolic 60–90, distinct child BP band and infant/child heart-rate bands), with above-range styled danger and below-range styled info.
- Avinya Plus ships no cardiology clinical module (no ECG, echo template, or Framingham/ASCVD risk-score engine) and blood pressure is stored as dated numbers, not a trend chart.
- A cardiac risk-factor and BP log is built in the block-template builder (on by default) as a table with conditional formatting, where a 'when' formula like prop("Systolic") > 140 styles a cell danger.
- The builder's ~30-function formula engine computes pulse pressure, column averages, and KPI headline numbers without a separate spreadsheet, formatting money as ₹ in the en-IN locale.
- Prescription type-ahead ranks medicines per clinic from the last 90 days (built citing cardiology) with inline custom medicines and allergy cross-check at prescribing time.
See how it stacks up.
| Feature | Paper / Excel | Legacy EMR | Avinya Plus |
|---|---|---|---|
| Auto-calculated Mean Arterial Pressure (MAP) | Manual | No | Yes |
| Age-aware BP / heart-rate out-of-range flagging | No | Partial | Yes |
| Cardiac risk-factor & BP log on one record | Folders | Partial | Built in the builder |
| Conditional colour on a stage-2 BP reading | No | No | Yes |
| Cardiac-drug type-ahead ranked per clinic | No | Partial | Yes |
| Pre-built ECG / echo / risk-score module | No | Partial | no (build the log instead) |
| Per-clinic data isolation | No | Partial | RLS |
Questions, answered.
Is Avinya Plus a cardiology-specialist EMR?
No, and we are honest about it. Avinya Plus is a generic, configurable clinic platform; it ships no cardiology clinical module. Its honest fit for cardiology is that every vitals entry auto-derives Mean Arterial Pressure and flags out-of-range BP, and you build your own cardiac risk-factor and BP log in the configurable builder, then run it on the same real platform (GST billing, scheduling, role-based access, per-clinic (RLS) isolation) that every clinic uses.
Does it calculate Mean Arterial Pressure automatically?
Yes, and this is the one thing a generic EMR does not do. When systolic and diastolic are recorded, the platform derives MAP using diastolic + (systolic − diastolic) ÷ 3, rounded to one decimal, and shows it as its own column on the vitals table with the formula spelled out in the header hint. It appears live as BP is typed and on the saved record, so you never compute MAP by hand.
How does it flag a high blood pressure reading?
Blood pressure and heart rate are judged against age-aware reference ranges: adult systolic 90–140 and diastolic 60–90, with a distinct child BP band and distinct infant and child heart-rate bands. A reading above range is coloured with the danger style and below range with the info style, so a hypertensive 160/100 or a bradycardic pulse stands out at a glance. This is shared platform behaviour, not a cardiology-only feature.
Can I track cardiac risk factors over time?
Yes, by building it yourself. In the block-template builder (on by default) you create a Cardiac Risk-Factor & BP Log as a table: one row per visit with a date, number columns for systolic, diastolic and pulse, and selects for smoking, diabetes, dyslipidaemia and family history. Conditional formatting can paint a stage-2 systolic with the danger style, and each visit is a new row so the history reads as one growing dated table, not a plotted trend chart.
Does it have ECG capture, echo templates, or a cardiac risk score?
No, and we will not pretend it does. There is no ECG capture, no echo report template, no Framingham or ASCVD risk-score engine, and no BP trend chart; blood pressure is stored as dated structured numbers, not plotted on a line graph. You build your own risk-factor and BP log in the configurable builder and interpret the cardiac risk with your own clinical judgement; the platform keeps the numbers dated, flagged, and together.
Does the prescription search know cardiac drugs?
It learns them. Medicine type-ahead ranks by what your clinic prescribes most over the last 90 days, per clinic (the feature was built citing cardiology directly) so amlodipine, telmisartan, atorvastatin and the antiplatelets you use float to the top, while a clinic with no history gets alphabetical order. You can add custom formulations inline, and every drug is allergy cross-checked at prescribing time.
Run your clinic on Avinya Plus.
Patient records, billing, and scheduling in one system your team will actually use.