Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Pablo Pazos Gutiérrez
    @ppazos
    what's the output of $ grails -version ?
    erzneves
    @erzneves
    | Grails Version: 3.3.10
    | JVM Version: 1.8.0_271
    Pablo Pazos Gutiérrez
    @ppazos
    thanks, @erzneves did you download the master branch?
    also please try doing what the error message says: Use --stacktrace to see the full trace
    that would be something like $ grails run-app --stacktrace
    pravingaikwad07
    @pravingaikwad07
    Hi
    I am developing an Android application to manage clinical data of Patient. I want to store the data in HL7 format in my device so that I can sync it with any third party system that supports openEHR HL7 framework... Any help on how I can achieve this.. Also any link or tool that I can use to create a PoC to demonstrate the HL7 format transactions ?
    Pablo Pazos Gutiérrez
    @ppazos
    @pravingaikwad07 EHRServer doesn't deal with HL7. Also HL7 is not a format, is a family of standards, each standard has it's own format.
    Andre-Gunner
    @Andre-Gunner

    Hello @ppazos .
    When I commit a composition to EHRServer, it can take up to a couple of minutes until that data shows up on any given query. The data is instantly available on the Web Console, however there is a latency until that same data can be accessed via query. Why is that? Is there any way (configuration, etc) to shorten or remove this latency at all?

    I'm currently building an application and we're thinking this delay may cause some troubles. I'm using EHRServer v1.5 btw.

    Pablo Pazos Gutiérrez
    @ppazos
    @Andre-Gunner there is an indexing job running, which is needed to run the queries. The goal is to prevent indexing running in the same request where data is committed, because that will make the commits longer.
    Andre-Gunner
    @Andre-Gunner
    Does that mean there is no way around this inherent latency? No other solution?
    Pablo Pazos Gutiérrez
    @ppazos
    this is by design, not a bug, if you want to change the behavior, you need to move the code that makes the indexing to where the commit is processed, and your client will wait as long as the indexing takes, which depends on the size of the composition
    I think there is an option in Grails to trigger the job programmatically
    Andre-Gunner
    @Andre-Gunner
    Ok, we will think about it.
    Thank you!
    Andre-Gunner
    @Andre-Gunner
    By the way, do you know what's the time interval associated with that indexing job? It runs every X minutes?
    Pablo Pazos Gutiérrez
    @ppazos
    @Andre-Gunner it's on the job code, you can take a look :)
    kamil5325
    @kamil5325

    @ppazos
    Hello,
    I have a problem with autorization - I have got a 401 code, instead of 200. The only solution is to generate a new API TOKEN from EHRServer (2.3) and replace it, but when I am trying to delete an old one I have an issue (login as an admin@cabolabs.com):
    Error: access denied
    Path: /organization/deleteApiKey/2

    I don't want to generate a new api token every time :/

    Pablo Pazos Gutiérrez
    @ppazos
    Hi @kamil5325 can you raise an issue on GitHub explaining the steps you followed? Thanks
    kamil5325
    @kamil5325
    @ppazos thanks.
    I found that token simply expired after 24h. Can I change this time?
    Pablo Pazos Gutiérrez
    @ppazos
    @kamil5325 I don't recall having an explicit expiration for tokens, you can check the token with a base64 decoder, the last part is the payload, and should have the expiration set if it expires https://github.com/ppazos/grails-security-stateless-ng/blob/master/src/main/groovy/net/kaleidos/grails/plugin/security/stateless/token/JwtStatelessTokenProvider.groovy#L49
    Also, if you are running EHRServer in DEV mode, the database will be deleted each time you stop the application and regenerated each time you run it. You need to be sure you run in PROD to avoid losing keys. You can check the database between runs. Also check the guide https://cloudehrserver.com/learn
    kamil5325
    @kamil5325
    @ppazos I am in PROD, i don't lose keys. I checked with decoder and there is a 24h expiration.
    This is an example from my EHRServer
    eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Impkbmpwb3BneWd1ZmZmb3N4YnZkcmNkcmZmZm1lb29reXV1aGNtam1zbHV5eXNlbmhzQGFwaWtleS5jb20iLCJleHRyYWRhdGEiOnsib3JnYW5pemF0aW9uIjoiMTIzNDU2Iiwib3JnX3VpZCI6ImU5ZDEzMjk0LWJjZTctNDRlNy05NjM1LThlOTA2ZGEwYzkxNCJ9LCJpc3N1ZWRfYXQiOiIyMDIxLTAzLTIzVDE5OjIyOjEyLjQ1MVoiLCJleHBpcmVzX2F0IjoiMjAyMS0wMy0yNFQxOToyMjoxMi41NTlaIn0.UFyggsUyEtxnxxFr6FswkiKTHHyzVQu2NHqSwTWtuyE
    Pablo Pazos Gutiérrez
    @ppazos
    @kamil5325 I found it, check the config stateless.expirationTime https://github.com/ppazos/cabolabs-ehrserver/blob/master/grails-app/conf/application.yml#L16
    kamil5325
    @kamil5325
    @ppazos Yes, that's it, thanks!
    Andre-Gunner
    @Andre-Gunner
    Hello @ppazos .
    At my company, we've been using the EHRServer for some developments.
    Now, we want to go into production, and for that, we want to install a new instance of the EHRServer on a new server. As it is a new install on a new server, we will have to upload the templates and queries on the new EHRServer. The templates upload seem to be straightforward. The queries though, not so much. Is there a simple way to "extract" the queries from our existing EHRServer to the new one? The alternative is to manually re-create all the queries, which can be error-prone and take some time.
    Plus, are there any other details we have to take into account when using EHRServer in production instead of dev?
    We're on v1.5.
    Thanks.
    Pablo Pazos Gutiérrez
    @ppazos
    Hi @Andre-Gunner I'm glad you found EHRServer useful!
    If you want to migrate data, you can try the sync API
    Or you can do a mysqldump
    In PROD I deploy the .war into a Tomcat server, certain versions of Tomcat work with certain versions of Java, I think I have Tomcat 8 and JDK 8 for EHRServer 1.5
    Then configure the ENVVARS needed for prod, nothing special, take into account the folder/file access from Tomcat might change because the working folder is different, but those values can be set in the Config
    Also would be nice to know more about your project so we can highlight it on Who is using EHRServer? docs, videos and blog posts
    Gabriel Freire
    @gabrielfreire
    Hi everybody, i'm new to OpenEHR but i'm a .NET developer, does anybody know any .NET implementation of OpenEHR like serializers, etc ?
    Pablo Pazos Gutiérrez
    @ppazos
    @gabrielfreire i don't think there's are open source. Net implementations, but I guess you can ask Ocean to license their implementation
    Gabriel Freire
    @gabrielfreire
    ok, thanks @ppazos
    Pablo Pazos Gutiérrez
    @ppazos
    @gabrielfreire an alternative is just to put the java components you need, behind an API, then use the API from .Net
    Andre-Gunner
    @Andre-Gunner
    Hi @ppazos . Thank you for the suggestions.
    Regarding the 'sync' option, from what I've read on the EHRServer guide, this is intended for high availability, load balancing, etc. That's not what we're looking for in this scenario.
    With the 'mysqldump' solution, we would copy all data to our new PROD server. It's not what we intend either.
    What we specifically want is to migrate the templates and queries from our dev EHRServer to a new one. We don't want the existing EHRs or contributions, as these were used only for development and tests, and now we want a new EHRServer that will only hold "real data" from real people. Therefore, we only want to use the templates and queries form our existing EHRServer.
    As for sharing more more details on our project, sure, I think we could tell you a little bit about it. Maybe once it is up in production we could do that, as for now we're still in development and in a bit of a hurry.
    Pablo Pazos Gutiérrez
    @ppazos
    @Andre-Gunner sync is also for backup (copies every single object from server A to server B).
    With mysql dump you can actually export only the tables for AQL, and if you export everything, you can select which tables to import. https://dba.stackexchange.com/questions/9306/how-do-you-mysqldump-specific-tables
    IMO both are valid solutions for your requirement.
    To migrate templates you can just copy the files and reindex the OPTs.
    What you mention also gives me the idea of constraining the objects that should be synced using the sync API, like having an extra option to select to sync "opts and queries" only. That might be a good feature for the future!
    If you need help with the implementation, we provide consultancy for that, especially if you are in a hurry and you don't have time to figure out all the small details, I can help.
    Andre-Gunner
    @Andre-Gunner
    Thanks.
    I think for now we will go with re-uploading the templates on the new instance and re-creating the queries manually. It's the solution we feel most confident about. The solutions you provided sound promising, but we don't want to "dive into new territory" at this stage. We'd rather stick to what we know, and we know that uploading the templates and creating the queries work and we know how to do it.
    Pablo Pazos Gutiérrez
    @ppazos
    @Andre-Gunner it's your call, but you have many alternatives to creating the queries manually :) also is not difficult to write a script to do that for you, it's just SQL. For instance you can sync then delete everything but the templates and queries.
    Carlos Alberto Pineda T
    @carlospineda_gitlab

    @ppazos primero que todo, muchas felicitaciones por su trabajo.... tengo una pregunta sencilla... espero que no se halla hecho antes ... si es así disculpen pero realmente no lo encontré.

    Estoy corriendo el proyecto y todo va perfecto.... pero cierro el SSH del servidor y se baja el servicio.... como hago para dejar corriendo el EHRServer en la maquina?

    Espero a ver sido claro!

    Pablo Pazos Gutiérrez
    @ppazos
    Hola @carlospineda_gitlab cómo lo estás corriendo?
    Carlos Alberto Pineda T
    @carlospineda_gitlab
    asi : grails prod run-app
    Pablo Pazos Gutiérrez
    @ppazos
    Eso es para desarrollo. Si lo corres en la misma consola donde estas con ssh, se va a cerrar el proceso al salir del ssh. Para produccion debes usar Tomcat y hacer deploy con el WAR.