Software Development Kit for app development

Hello @birger.haarbrandt,
Thank you for building this!
Will the adl2 template endpoint be supported ehrbase? if yes, is there an estimate on when it would be available?

1 Like

Seems like the docker image has changed from ehrbaseorg/ehrbase:next to ehrbase/ehrbase:next now. I was using an old version of EHRBase for a long time not realizing this. For people getting started with docker, here is a quick start docker-compose.yml file that will get you running on the latest version:

version: "3"
services:
  ehrbase:
    image: ehrbase/ehrbase:next
    ports:
      - "8080:8080"
    environment:
      - DB_URL=jdbc:postgresql://db:5432/ehrbase
      - DB_USER=ehrbase
      - DB_PASS=ehrbase
      - SYSTEM_NAME=local.ehrbase.org
    depends_on:
      - db
  db:
    image: ehrbaseorg/ehrbase-postgres:latest
    environment:
      - POSTGRES_PASSWORD=postgres
    volumes:
      - data:/var/lib/postgres
volumes:
  data:

If you want to update, just do docker-compose pull

4 Likes

It will be supported sooner or later but unfortunately we don’t have this formally on the roadmap at the moment.

We have a quite mature .NET implementation of “all in openEHR”. Both a .NET openEHR server, SDK, clients and lots of tooling. You might be interested in some of these. Currently we don’t have any customers outside Norway and our main focus is our national customers. Anyway - I am writing this to check if there might be any interest in (some of) our software stack for your activities :slight_smile:

1 Like

I am testing the improved FLAT composition support in 0.16.5. But I am unable to get any response from the server when I do POST. Are the paths same as per your postman collection? @birger.haarbrandt

http://localhost:8080/ehrbase/rest/ecis/v1/composition/?format=FLAT&ehrId=5c9950a1-1f1d-43bf-9093-c2e7d051bcab&templateId=Corona_Anamnese

I also could not find the FLAT composition APIs in the Swagger

regards

I have 0.16.5 working ok with FLAT.

curl --location --request POST ‘http://localhost:8080/ehrbase/rest/ecis/v1/composition?ehrId=d4a7af5d-4147-44ef-a567-e69e2fee214a&templateId=IDCR%20-%20Adverse%20Reaction%20List.v1&committerName=Dr%20Franke&format=FLAT
–header ‘Content-Type: application/json’
–header ‘Authorization: Basic OWI4ZDhiMTEtYTJhNi00YzE5LWI4MGMtYWZmNzY5MWE1OTlmOiQyYSQxMCQ2MTlraQ==’
–data-raw ’ {
“adverse_reaction_list/language|code”: “en”,
“adverse_reaction_list/language|terminology”: “ISO_639-1”,

}}

Is committerName mandatory?

Regards

No optional -it will default to the logged in user and actually I’m not sure that Ehrbase supports it -may well be ignored.

Yes FLAT composition is working. The problem was with a couple of templates and is still having same problem. It is working for all the other templates.

I have managed to narrow down the problem to Upload a new ADL 1.4 template with PREFER:return=representation returns 400 Bad request · Issue #512 · ehrbase/ehrbase · GitHub

These templates seem to have got corrupted while importing. Tried updating the template, but the problem persists

Thanks for creating the ticket. We are really keen to find and resolve as much issues as possible before the 1.0 release!

Hi Ehrbase team

What is the best way to generate flat format composition from a template. The example generator would be really useful

thanks much
Sangeeta

The VScode plug-in already does some example generation (using archie). It supports a.o. generate example flat json. (Not webtemplate)

Hello everyone, I am a little confused by all this different statements:/ Should it now be possible to get sample collection in flat format via
http://<ip>/ehrbase/rest/ecis/v1/template/<template_id>/example?format=FLAT?
If yes, what could be wrong if the answer of this request looks like the following, although the template_id does exist:

{"meta":{"href":{"url":"<ip>/ehrbase/rest/ecis/v1/template<template_id>/example"}},"action":"RETRIEVE","composition":}

I did use the updated yaml file of @Sidharth_Ramesh

Looks good, which version of EHRbase are you using? Latest dev branch?

Thanks for that quick reply -appreciate your support!

I did the installation roughly 6 weeks ago and used the ehrbase/ehrbase:next image. Maybe I’ll try to install the newest version tomorrow and give you a feedback. Do you think it’s worth it or should this functionality already worked in the 6 week old image?

The new feature was added around 2-3 weeks ago, so please try again with a recent version

awesome! pulling the newest image and rebuilding the docker image does the job :slightly_smiling_face:

This functionality makes it much more convenient to upload a composition. However, what is the best workflow for posting a new template? Right now I’m using the Archetype Designer to create an OPT file and /definition/template/adl1.4 to post the file. Is there any way to upload in webformat?

Furthermore, how does the aql query request with ehrScape work? Calling ehrbase/rest/ecis/v1/query?explain=false' with a body {"aql":"Select e from EHR e"} gives me an internal server error.

At the moment, upload of a template is only possible using OPT. How would you envision the WebTemplate format to make the upload workflow more convenient?

Regarding ehrscape: said query endpoint is actually deprecated and will be removed before the 1.0 release (admittedly, this is not marked properly). We recommend to use the one of the official openEHR REST API. In general, we encourage to use the official API to ensure vendor-independence: Query API

1 Like

Hey, I find the webtemplate much more readable, but yes, you’re right, that doesn’t actually affect the upload workflow.

Ok thanks for that info. By the way, will sophisticated sql structures like JOINS be supported in AQL in the near future?

Joins are already possible in Better, but not yet standardized (there are some interesting choices around permutations within the result set). We are currently focussing on smoothing the edges in EHRbase, but are keen to add subselects, joins and group-by and contribute to the spec. I hope that we can get there within 12 months or so.

1 Like