Git Product home page Git Product logo

webelexis's Introduction

Webelexis

Die schlanke, flinke Ergänzung zu Elexis

  • Läuft im Browser
  • läuft auf Mobilgeräten
  • lässt sich auch über Mobilnetze flüssig bedienen
  • kann (bei weitem) nicht alles, was Elexis kann, sondern erledigt Kernaufgaben unkompliziert.
  • Kann parallel mit Elexis im selben Netz eingesetzt werden.
  • Erlaubt optional selbständige Terminreservation für Patienten über ein Web-Interface

Dieses readme betrifft eine frühere Version. Redesign ist in Arbeit

Demo Videos

Einstieg, Patientenliste, Medikation, Agenda, Konsultation, Makros Selbstbedienungs-Terminvergabe

Installationsanleitungen

Am einfachsten gelingt die Installation und Konfiguration via Elexis OOB. Dies ist der empfohlene Weg, auch wenn Sie Webelexis nur rasch mal ausprobieren wollen.

Ansonsten:

Siehe hier für den Server und hier für den Client. Falls Sie Webelexis mit einem FHIR-Server verbinden wollen, z.B. Elexis-Server, lesen Sie im FHIR-Unterverzeichnis nach (dieses feature ist allerdings im prä-alpha-Stadium).

Kurzanleitung für die Docker-Version

ACHTUNG: Nur an einer Kopie der produktiven Datenbank testen.

ACHTUNG: Nur hinter einer Firewall oder an einer Test-Datenbank ohne echte Patientendaten testen.

- Einen Ordner 'data' erstellen, und darin eine Datei 'settings.js' erstellen.

Beginnen Sie mit einer Kopie von settings-example.js und ändern Sie die Einträge passend für Ihr System.

- Dann im Terminal:

mysql -h host -u username -ppasswort elexis <modify_elexis.sql  # Natürlich nur beim ersten Mal
sudo docker run -p 80:3030 --name webelexis -v `pwd`/data:/home/node/webelexis/data rgwch/webelexis:latest

Achtung: Webelexis wird beim ersten Start (wenn in settings.js automodify auf true gesetzt ist), einige Datenbankanpassungen vornehmen, die in server/vorbereitung.md näher beschrieben sind. Wenn automodify auf 'false' gesetzt ist, wird Webelexis keine Änderungen vornehmen, aber den Start verweigern, falls die Datenbank noch nicht angepasst ist.

Wenn Sie nicht unbedingt eine spezifische Version möchten, würde ich empfehlen,immer webelexis:latest zu wählen. Wenn sie die allerneueste aber eventuell "kaputte" Version ausprobieren möchten, wählen Sie webelexis:bleeding.

- Dann einen Browser auf http://localhost richten.

(bzw. wo auch immer der Docker-Container erreichbar ist)

Run from scratch

Webelexis kann auch auf einer leeren Datenbank gestartet werden (mysql oder sqlite). Es erstellt dann selber die Webelexis-Datenstrukturen. Diese Datenbank ist dann aber nicht garantiert kompatibel zu Elexis, sollte also nur für reine Webelexis-Umgebungen verwendet werden. Wann immer gemischter Betrieb vorgesehen ist (das ist das empfohlene Setup), sollte zuerst Elexis und dann Webelexis initialisiert werden.

Technische Grundlage Webelexis 3

Dies ist die dritte Iteration des Webelexis Projekts, komplettes rewrite und redesign. Eckpunkte:

  • Microservice basiert (feathersjs). Dank bidirektionalem realtime API über socket.io werden clients über Veränderungen der angezeigten Objekte informiert. Polling des serverseitigen Status lokaler Objekte ist nicht mehr nötig.

  • Data Layer im Prinzip auswechselbar. Wenn das FHIR API des Elexis-Servers mit den benötigten Datentypen funktioniert, ist ein Wechsel denkbar.

  • Vorläufige Abkehr vom monolithischen "responsive" UI, stattessen optimiert für mittlere Bildschirmgrössen, andere UIs/Skins einfach einbaubar.

webelexis's People

Contributors

col-panic avatar dependabot[bot] avatar rgwch avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

webelexis's Issues

(FHIR-Transporter) Create patient does not include all attributes

Creating a patient, filling all possible values, does not send most of them. Here is an example POST created, where one can see that most attributes (street etc.) are missing

{
   "resourceType":"Patient",
   "active":true,
   "name":{
      "family":"Nachname",
      "given":[
         [
            "Vorname"
         ]
      ],
      "prefix":[
         ""
      ],
      "suffix":[
         ""
      ],
      "text":"undefined Nachname Vorname undefined",
      "use":"official"
   },
   "gender":"female",
   "birthDate":"1979-03-25T23:00:00.000Z"
}

Error running npm install on webelexis-base

Trying to set-up the build environment using npm install i get

npm http 200 https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz

> [email protected] install /home/webelexis/webelexis/webelexis-base/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
> node install.js

sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! weird error 127
npm ERR! tar pack Error reading /home/webelexis/tmp/npm-847-6atelFGP/1429879123484-0.08311895513907075/package
npm ERR! addLocalDirectory Could not pack "/home/webelexis/tmp/npm-847-6atelFGP/1429879123484-0.08311895513907075/package" to "/home/webelexis/.npm/useragent/2.0.10/package.tgz"
npm ERR! not ok code 0

thanks for info :)

Running webelexis against (unprotected) ES (FHIR transport)

I'm trying to run webelexis agains an unprotected ES, to achieve this, I perform the following changes

  1. Start Elexis-Server with the -Ddisable.web.security=true flag as documented in https://github.com/elexis/elexis-server/wiki/SMART-on-FHIR#deactivating-the-security-filter
  2. Reconfigure webelexis against ES in client/aurelia_project/environments/dev.ts by setting baseURL: 'http://localhost:8380/fhir/'
  3. Starting the client with au run --watch

Now in firefox I see that the fhir/metadata is correctly loaded. But ES cannot satisfy the requests to socket.io (e.g. http://localhost:8380/socket.io/?EIO=3&transport=polling&t=MWiY2QG)

  • What is socket.io used for, is it possible to deactivate its functionality for the time beeing to log-in?
  • Is it possible to skip login for the webelexis client?

I just want to be able to execute FHIR calls against ES using webelexis, in order to find out about the current state!

Check-in of webelexis-agenda

Hy gerry,
I tried to check-in the webelexis-agend project into my Eclipse. I thowever fails with quite a weird project structure (see enclosed image). Could you give me a hint on the tools you used to get this project to correctly build?

thanks

2015-03-11_1509

Error in npm start

Running npm start according to your guide leaves me with the folllowing error. Is that a configuration issue? Is mongodb required to run at this point? Did I miss something in your tutorial? Thanks!

Deployed successfully: emr 
Downloading io.vertx~mod-mongo-persistor~2.1.0. Please wait... 
Downloading 3%Downloading io.vertx~mod-mysql-postgresql_2.10~0.3.1. Please wait... 
Downloading 1%Exception in Java verticle 
java.lang.IllegalStateException: Client is closed
    at org.vertx.java.core.http.impl.DefaultHttpClient.checkClosed(DefaultHttpClient.java:781)
    at org.vertx.java.core.http.impl.DefaultHttpClient.get(DefaultHttpClient.java:243)
    at org.vertx.java.platform.impl.resolver.HttpResolution.sendRequest(HttpResolution.java:136)
    at org.vertx.java.platform.impl.resolver.HttpResolution.makeRequest(HttpResolution.java:159)
    at org.vertx.java.platform.impl.resolver.MavenResolution$6.handle(MavenResolution.java:115)
    at org.vertx.java.platform.impl.resolver.MavenResolution$6.handle(MavenResolution.java:109)
    at org.vertx.java.platform.impl.resolver.HttpResolution$2.handle(HttpResolution.java:163)
    at org.vertx.java.platform.impl.resolver.HttpResolution$2.handle(HttpResolution.java:159)
    at org.vertx.java.core.http.impl.DefaultHttpClientRequest.handleResponse(DefaultHttpClientRequest.java:287)
    at org.vertx.java.core.http.impl.ClientConnection.handleResponse(ClientConnection.java:332)
    at org.vertx.java.core.http.impl.DefaultHttpClient$ClientHandler.doMessageReceived(DefaultHttpClient.java:856)
    at org.vertx.java.core.http.impl.DefaultHttpClient$ClientHandler.doMessageReceived(DefaultHttpClient.java:836)
    at org.vertx.java.core.http.impl.VertxHttpHandler.channelRead(VertxHttpHandler.java:72)
    at org.vertx.java.core.net.impl.VertxHandler.channelRead(VertxHandler.java:155)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163)
    at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
    at java.lang.Thread.run(Thread.java:745)
``

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.