Git Product home page Git Product logo

juliahealth / fhirclient.jl Goto Github PK

View Code? Open in Web Editor NEW
13.0 11.0 5.0 1.06 MB

Julia client for connecting to FHIR (Fast Healthcare Interoperability Resources) servers and building SMART on FHIR applications

Home Page: https://juliahealth.org/FHIRClient.jl/stable/

License: MIT License

Julia 99.97% Makefile 0.03%
fhir fhir-client fhirclient fhir-models fhir-parser fhir-profiles health-care health-data healthcare hl7

fhirclient.jl's People

Contributors

dependabot[bot] avatar devmotion avatar dilumaluthge avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fhirclient.jl's Issues

Idea: Refactor our test suite and factor all of the test-server-specific values out into a single place

I think it could be useful to refactor our test suite and factor all of the test-server-specific values out.

So e.g. we could define a struct inside of test/runtests.jl of the form:

Base.@kwdef struct TestFHIRServer
    base_url::String
    patient_firstname::String
    ...
end

Then, the other parts of the test suite will just extract the values from the TestFHIRServer struct.

And then, in order to switch test servers, we only need to change the values in one place.

Originally posted by @DilumAluthge in #135 (comment)

Suggestion: Move autogenerated FHIR types to a separate package

The autogenerated FHIR types are not required for the core functionality of FHIRClient, and additionally the file with the autogenerated FHIR types is extremely large (which means unnecessary parsing and precompilation in case they are not used). I think we could maybe strip down the package and move the autogenerated types to a separate package - only the downstream users that do not define their own FHIR types have to depend on it and load it. Moreover, FHIR types for other FHIR versions could be defined in additional packages.

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

Tests fail due to error of HAPI FHIR test server

Currently tests on the master branch fail with errors such as

 Got exception outside of a @test
  HTTP.Exceptions.StatusError(500, "GET", "/baseR4/Patient?given=Jason&family=Argonaut", HTTP.Messages.Response:
  """
  HTTP/1.1 500 Internal Server Error
  Server: nginx/1.18.0 (Ubuntu)
  Date: Sun, 26 Nov 2023 19:09:45 GMT
  Content-Type: application/fhir+json;charset=utf-8
  Transfer-Encoding: chunked
  Connection: keep-alive
  X-Powered-By: HAPI FHIR 6.9.5-SNAPSHOT/7e3c42549d/2023-09-09 REST Server (FHIR Server; FHIR 4.0.1/R4)
  X-Request-ID: 2phDCqTeMtgW24f4
  
  {
    "resourceType": "OperationOutcome",
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Operation Outcome</h1><table border=\"0\"><tr><td style=\"font-weight: bold;\">ERROR</td><td>[]</td><td>HAPI-2223: Timer already cancelled.; nested exception is java.lang.IllegalStateException: Timer already cancelled.</td></tr></table></div>"
    },
    "issue": [ {
      "severity": "error",
      "code": "processing",
      "diagnostics": "HAPI-2223: Timer already cancelled.; nested exception is java.lang.IllegalStateException: Timer already cancelled."
    } ]
  }""")
  Stacktrace:
    [1] (::HTTP.ConnectionRequest.var"#connections#4"{HTTP.ConnectionRequest.var"#connections#1#5"{HTTP.TimeoutRequest.var"#timeouts#3"{HTTP.TimeoutRequest.var"#timeouts#1#4"{HTTP.ExceptionRequest.var"#exceptions#2"{HTTP.ExceptionRequest.var"#exceptions#1#3"{typeof(HTTP.StreamRequest.streamlayer)}}}}}})(req::HTTP.Messages.Request; proxy::Nothing, socket_type::Type, socket_type_tls::Type, readtimeout::Int64, connect_timeout::Int64, logerrors::Bool, logtag::Nothing, kw::Base.Pairs{Symbol, Union{Nothing, Int64}, Tuple{Symbol, Symbol, Symbol}, NamedTuple{(:iofunction, :decompress, :verbose), Tuple{Nothing, Nothing, Int64}}})
...

It seems the test failures are caused by problems with the public FHIR server and can be reproduced e.g. by going to https://hapi.fhir.org/baseR4/Patient?given=Jason&family=Argonaut.

Ref hapifhir/hapi-fhir#5479
Ref hapifhir/hapi-fhir#5485

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.