Help needed with openEHR GDL

Hi all,

I’m a Dutch clinical informatics PDEng student. As part of my studies I am currently designing (and hopefully developing) a decision support tool to be used in a healthcare department.

What I would like to do is to translate a natural language clincal guideline (in the format: if patient had this in the past, then advice this/perform this) into a computer interpretable guideline, which can then be used in a decision support tool. Of course I could just program if-then-else-rules in any language, but I rather use an standardized approach for this, with reusable models, concepts etc.
During my preliminary research I’ve read about a few languages (e.g. FHIR clinical reasoning module, Proforma, Asbru etc.) that could do that, but openEHR (with GDL) appeals to me the most because of it’s well-thought-out approach and available tools.

As a start I’ve been following this guideline: GDL2 Guideline Tutorial I – BMI – Guideline Definition Language (GDL)
I’ve followed every step and double checked everything, but unfortunately I do not get any Execution results. Does anyone have the same issue or knows what I am doing wrong? See image below and attached guideline file:

Additional question:
Once I’ve this working. What tools could I use to execute the guidelines? Ideally I would integrate this in a Python application, is that possible?

Thanks!

Regards,
Rinke
Test_BMI.v0.gdl2.json (4.4 KB)

2 Likes

I discovered the answer to my first question. TLDR; null values aren’t allowed, check for them.

After trying to reupload the guideline file into the gdl2-editor I received the following error message:
image

After looking at the gdl file it turns out, somehow a predicate with max(null) slipped in there, which is not allowed, causing the execution to fail:
image
Removing the predicate made the execution run succesfully.

Lesson learned: when execution in editor fails look for null in the code or try re-loading the GDL

The latter question remains:

1 Like

For academic purposes, you may want to have a look at the Task Planning and Decision Language (TP/DL) specs, in the PROC component. The DL part is emerging, so it’s more to look at where we are going in the future. You might find this discussion useful.

GDL is established and deployed, has tools etc, so for doing any real implementations, I’d use that.

Thanks for your repsonse Thomas. I’ll definitely have a look at it!