EHRBase/OpenEHR implementation in .Net

Hi there!

I’m searching for a EHRBase/OpenEHR implementation in .Net.
Does anyone know of one?

Hi @DanielBaumert,

the ones I know are both closed source (DIPS and Ocean Health). A long time ago there was an openEHR Reference Model implementation in C# and some early systems created by @Koray_Atalag and @Seref.

There is no masterplan behind this, but nearly all relevant open source components from vitagroup, Better, Nedap and Cabolabs are using the JVM ecosystem with Groovy, Kolin and well, Java.

4 Likes

Hi, we’ve used openEHR RM .Net implementation by Ocean which was made open source through Microsoft CodePlex back in the day. Our whole implementation of an endoscopy reporting system is here: GastrOS download | SourceForge.net
I’d suggest contacting Ocean to see where it is at. Happy to help in any way I can. Good luck!

3 Likes

This sounds like interesting work. On sourcforge I can only find text documents. Is the source code or executable also available.

Ping @Seref regarding open source parts of oceans CDR.

Hi,

Apologies, been a while. I’ve actually put in on https://github.com/atalagk/GastrOS

You’ll find everything there including source code. Also see below prezo

https://openehr.atlassian.net/wiki/spaces/resources/pages/4554763?preview=/4554763/4489226/3_GastrOS_Atalag.pdf

Please contact me directly if you have any questions and I’d be happy to help. My colleague Dr Hong Yul Yang has built the app. CCd
hongyul.yang@gmail.com

Cheers,

Koray

2 Likes

Hii,

@Koray_Atalag I found the project and could not find the source code for the OpenEHR.dll.
Do you have a link or anything else to the source code or can I reverse engineer it? (ref: OpenEHR.dll Source Code · Issue #1 · atalagk/GastrOS · GitHub)

Daniel

Hi Daniel,

It belongs to Ocean health systems. I suggest you contact them to see what’s licensing conditions. It was open source through codeplex but seemingly not anymore.

@Sam Heard @Hong Yul Yang

Cheers,

Koray

1 Like

@NeoEHR

ref C# Libraries for Canonical APIs - #5 by NeoEHR

You can use attributes (in java annotations).

e.g. for Json:

const string JSON = @"{ ""name"": ""xyz-class"" }";

// from json to object
Xyz? xyz = JsonSerializer.Deserialize<Xyz>(JSON);

// from object to json
string jsonString = JsonSerializer.Serialize(xyz);

class Xyz
{ 
    // hint: the suffix Attribute is optional
    [JsonPropertyName("name")] // mapping
    public string Name {get; set;}
}
1 Like

@DanielBaumert Thank you. The code in the linked post is updated with serialization and other improvements to the code.