Blog Posts Decision / Rules Management

DMN in Python

Blog: Decision Management Community

We received this email from Russell McDonell: “As a Python developer, I was interested in using DMN within my Python applications. Specifically I wanted to use DMN in clinical decisions using FHIR and cds-hooks. So I developed pyDMNrules (gitHub repository) which is based upon a Python implementation of FEEL – pySFeel (gitHub repository). Its rule input is an Excel workbook where the rules tables have to ‘look’ like the examples in the DMN specification (double line borders).”

I built on that, creating DecisionCentral – source code for a website with no content, but you can upload Excel workbooks and it creates APIs for each workbook. There’s everything needed to run this in a Docker container. There’s also a version (DecisionCentralAzure) which stands this up as an App Service on Microsoft Azure.

I believe pyDMNrules complies with DMN 1.3 and asked the OMG “How can I test this?” and they suggested I contact the Decision Management community. They pointed me at one group, but all their tests are Maven and Java and I suspect I would have to develop uploading an XML definition for the rules. Seems a lot of effort for no immediate benefit.

Leave a Comment

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="https://www.businessprocessincubator.com/content/dmn-in-python/?feed=html" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples

BPMN.org

XPDL.org

×