PHR (Personal Health Record) example

I’ve setup a PHR using Calc (I have MX Linux and LibreOffice), learning about TiddlyWiki (watching Francis Meetze on Youtube), I have basic HTML/CSS knowledge, but have no idea how to start building a PHR using TiddlyWiki, has anyone created a PHR using TiddlyWiki? If so, would you mind to share a example or give me pointers how/where to start?

1 Like

Hello @michael
I am not quite sure what you mean by a Personal Health Record.
I presume it records such things as medications, a journal of how your health is, reminders of appointments etc.

If you could give some examples of what you currently use, maybe we can help you further.

I am not sure what Calc is but presume it is a spreadsheet. Again, an example of your record would be useful.

Regarding help with TiddlyWiki, I would recommend groktiddlywiki which is a tutorial showing how TiddlyWiki can be used to create Contacts, Minutes for Meetings, Journals and much more. You can even download a copy of the wiki to use on your own computer/ laptop/ tablet or phone.

Grok TiddlyWiki — Build a deep, lasting understanding of TiddlyWiki


@Scot, thanks so much for your prompt reply, you’re right, Calc is LibreOffice’s spreadsheet, the information that I’m trying to record is mainly lab results (blood, urine, etc), since TW can attach images, when there’s image available, I can attach as well, as an example:

                    11/23/19     12/20/20
colesterol          10.8           12.5
glucose              8.4           7.9
vitamin B            3.7           5.2

the trouble I’m having with Calc is I had to enter a lot of comments (type of test is in 2 different languages), the other trouble I’m having with Calc is grouping of test, since I’m not that knowledgeable about medicine, when I learnt that the grouping I did previously is not adequate, move a column/row in Calc is cumbersome, it seems TW is better suited for this, and I saw a post here where a doctor with programming skills also recommend it, so I’m curious to see if someone already tried to do it, so I can learn and not repeat the mistakes I did with Calc.
ps: I can’t figure out how to download a copy of groktiddlywiki for offline reading?

Hi @michael
sorry I didn’t get back too you sooner, I wasn’t at my computer.
First things first.

Go to this page.[[Welcome%20to%20Grok%20TiddlyWiki]]%20[[Why%20TiddlyWiki%3F]]%20[[Front%20Matter]]%20[[Downloading%20Grok%20TiddlyWiki]]

Click on the red tick at the end of this text, after the word paragraph
If you’re currently viewing this page on the web, you should download a copy now by clicking the save icon at the end of this paragraph:
A download should start. Once the file is downloaded, you can
rename what you like, as long as the file extension is .html

I’m sure what you want, can be done in TiddlyWiki, but there are various ways to achieve it.

Looking at the Django example, recording such things as

keep a record of blood glucose level
any medical issues

This can all be done, the first thing is to decide on the format and structure of the records.

Hi @michael
I have put up a very basic demo on for you to look at.
It still needs work, I’ll try and add more when I have a little time.

@michael I am confident TiddlyWiki can do this for you, but if I understand it you are interested in using tiddlywiki to build a “PHR App”. The answer is yes you can, I am confident almost any application requirment can be satisfied on the “TiddlyWiki platform” ; But of course this raises a lot of questions about the app requirements.

I understand the area you were not sure with is the maths, calc is an option but for most calculations now there are sufficient filter operators to do most things, and if you have multiple tidders with different values in the same field you can use reduce to sum or calculate a result. If you need very complex analytical maths (I doubt that is what you need) you can use Evans Formula plugin.

I would imagine a Personal Health Record may also resemble what we may call a “Journal”, a way to collect monitored health parameters such as taking note; medications, daily steps walked and more. So you may find value in looking for Journal solutions people have already designed. I am yet to publish one I made for myself, but it included buttons to increment or log information like click to indicate tablets taken each day (Back date time if needed) etc…

Another avenue may be researching automatic tables and other spreadsheet like features in TiddlyWiki eg; within Shiraz 2.4.5 — create stylish contents in Tiddlywiki and others like

I think you will find asking more specific questions to the community as you build your solution very helpful.

Hi Tones, I update my reply to include a link to a starter demo for @michael . It has Shiraz plugin installed. please have a look, maybe you could expand it, while you work on your own version.

1 Like

@TW_Tones , thanks so much for your feedback, actually the reason for using Calc is not its math feature, it’s more due to it’s ability to collapse row/column (as you can imagine, in 2D, when I have a huge list of lab results and different dates/time of the results, the matrix can turn quite big in a very short time, and Calc’s ability to collapse row/column make it more readable. I’ll take a look at your suggestion, it may take a while, since there are a lot to digest. Thanks again for your help.

@Scot, thanks so much for your help, that’s what I’m looking for, is there anyway that I can help? I think the best way to learn a new tool is by using it.
What I have in mind is a bit different, for instance, I’d put test type in a column, then the results in a row, something like:

                              11/23/19     12/20/20
            colesterol        10.8           12.5
           vitamin A          10.8           12.5
           vitamin D          10.8           12.5
      density                 10.8           12.5
      pH                      10.8           12.5

I have the following questions:

  1. will there be a performance degradation when the file becomes too big? I imagine medical images can be quite big.
  2. I imagine each lab test will be a tiddler, but I don’t know how to implement the results and date. The reason to put lab test in column is due to its size (can be over 30 items and increasing, when new tests come up, and the results is the same, as new results are added, it’ll become quite large, so it has to be collapsible (maybe by year?)
  3. when a final prototype is ready, is there anywhere that I can post it so others don’t need to reinvent the wheel?
  4. can I download a copy of your demo so I can make some changes/test to learn/adapt?
1 Like

Ciao @michael & @Scot . Very interesting thread that exemplifies real world issues.


Right. The term “Journal” is a bit of a catch-all. With health one is “Tracking”, sometimes needing very exact timing. And certainly exact final records. TW as a “Recording System”.

I thought that both @michael & @Scot opened the issue well.


Hi @michael
I’m glad that the demo is looking something like what you were originally looking for. Regarding your offer of help, your feedback regarding any additions or tweaks is useful.

Changing the data by adding a field for test type, is not a problem.
I put the demo on tiddlyhost as that was the easiest way to let you see it.
I thought that the file would have been easy to download, but it seems you have to be logged in to the creating account to be able to access it. Maybe someone will correct me on this, I’ll have to think this over.

A1.There shouldn’t be a problem with performance degradation, some of the users have files with thousands of records in them.

A2. I need you to explain what you need in each tiddler eg. blood, urine, pH, Chemistry etc.
What filter you need to collate the data. In other words how you want it sorted.

A3. You can put the TW file and the images on a thumb drive or in a zip file and email it to others.

A4. I can download the file, so I will try to make it accessible to you through some other method. Dropbox or similar, or email.

Regarding images
Images can be provided in several ways, but it depends on where the images reside, that defines how they are accessed. If you are hosting the TW on a website, local server, hard drive, google drive, one drive or thumb drive / usb stick.
Generally image files are kept externally so as not to bloat the TW; a field points to their location to include them.

@TW_Tones @TiddlyTweeter
Thanks very much for your comments and feedback, regarding Michael’s Personal Health Record.

Journals can indeed be used to record a number of topics/issues and of course Michael can add these when he learns more about TiddlyWiki.

In addition, Tones suggestion regarding the use of Evans Formula plugin, may be useful at a future stage.

Scot, See other discussions for info on when using dates such as New Tiddler with due-date Set for Next Week - #2 by stobot

In tiddlywiki it usually makes sense to create a tiddler for each record.

Michael, I have worked up a kind of daily log tiddly-wiki with lots of kinds of data, though it’s not in a form that I can comfortably share until/unless I clone it and remove identifying info ;).

I highly recommend inverting how “rows and columns” look compared to what you posted above, so that your tiddlers (records / rows) correspond to dates. That way, once you have your set of relevant fields, and get your existing records structured properly around those fields, you can set up a template and add one tiddler at a time with a given day’s (or week’s, etc.) new results.

I highly recommend using the Shiraz plugin, written by Mohammad (who tends to hang out at this forum). Apparently Tones has also pointed you in that direction.

Shiraz will let you quickly set up dynamic tables to filter records according to any angle of interest, and can also display any array of field-level column-information that interests you. The row for each entry drops down to reveal whatever’s in the text field for that record, such as an image, notes, etc. It offers basic numeric summary options as well, such as totals, max and min, and averages for a given column-field across the currently-filtered batch.

Unlike a spreadsheet, you’ll find TW allows you to have ready access to any number of “GUI angles” on the same info. You can make multiple dynamic tables that display (and summarize) different dimensions, and different levels of detail, for the same underlying info.

I’m sure much of what’s above is redundant. But I wanted to put in a hearty plug for Shiraz dynamic tables, which are ideal for selective framing of aspects of a large array of info.


@Springer thanks for this tip, I’ve already added it to my test file, now need to learn how to use it efficiently.


@Scot thanks for the tips and explanation, I’ve created a test file and uploaded to TiddlyHost, I have other specific questions, I think it’s better to open a different post for each question/problem I’m facing.

Hi I’m glad you have managed to create a test file. Did you manage to access my demo TW from the link I sent or is this a separate file?

By all means, ask any questions you may have in separate posts as they arise.
The group can then point you in the direction of tutorials, other than GrokTiddlyWiki, that contain more specific examples on what you may require.

I agree, date specific records as you rightly point out, can be very helpful and your linked post is a good example. Thanks.

I totally agree with your comments. The demo TiddlyWiki I produced for @michael has the Shiraz plugin already installed, my example actually used Mohammad’s dynamic tables / task manager example.

TW Scripts and Mohammad’s latest release Mehregan offers a lot of scope for beginners and experienced users alike.

Michael is starting the TW learning curve and once he decides what his final record structure will be and how the data he has will be filtered, he will be able to prepare a wiki that meets his current and future requirements
TiddlyWiki is very powerful and unless you have a certain proficiency in using it, it is difficult understanding what can be achieved with it.

This is true yet it raises an interesting question.

If a solution is more powerful than others then more can be done with it. If more can be done then more complex problems can be tackled. Thus even if tiddlywiki was very simple, because it can tackle complex problems, it can demand a higher level of proficientcy in complex problem solving.

The more capacity something has the harder it is to understand what can be achived with it.

It is a continuing challenge of mine, and the community to describe what tiddlywiki is. Perhaps this is a clue.

Tiddlywiki’s capacity and applicability is so expancive it is impossible to fit it in a box and say “this is what it is”. Instead we must Concider it a platform on which we may build so many things, we may never know the extent of its possibilities.

Perhaps if we could identify what tiddlywiki can not do it would help, but since there is usualy a work around this too may be impossible.

What a strange creature our tiddlywiki is, deifying description.

@Scot thanks, yes I could download your demo and it help me to setup my test file.