fhir-bridge icon indicating copy to clipboard operation
fhir-bridge copied to clipboard

FHIR Bridge code refactoring proposals/ideas

Open subigre opened this issue 3 years ago • 10 comments

Background

The current FHIR Bridge codebase is becoming bigger and it is sometimes hard to organize/find/maintain the code. In addition, we use a lot of third-party librairies and the dependency management is becoming very hard.

The following non-exhaustive list contains some ideas/proposals for the next code refactoring in order to improve the development, testing and maintenance.

Maven multi-module project

The project structure should be re-think in order to organize the codebase using different modules:

  • fhir-bridge-camel
  • fhir-bridge-fhir
  • fhir-bridge-app
  • fhir-bridge-openehr
  • fhir-bridge-converters
  • fhir-bridge-core
  • fhir-bridge-utils
  • ...

Define custom transactions

We should think about defining a list of transactions like IHE is doing: ITI-65, ITI-68, etc.

  • FB-01 - Provide Observation
  • FB-02 - Provide Condition
  • FB-03 - Provide DiagnosticReport
  • ...

This could also help to:

  1. Better organize the code
  2. Use the same approach than IPF
  3. Keep consistency to include existing IHE transactions
  4. Improve existing wiki documentation

subigre avatar Aug 27 '21 06:08 subigre

In addition:

  1. Adding a Fileless test case support for the mapping tests.
  2. Splitting converters into CODEX and HIGHMED converters
  3. cleaning up the tests files (lots of duplicates)
  4. updating the robot tests (since thats why these are duplicated)
  5. Updating Postman
  6. clean up of dead imports

SevKohler avatar Aug 27 '21 11:08 SevKohler

subigre avatar Sep 01 '21 08:09 subigre

  • Relation between subject.identifier <-> PatientId <-> EHR ID

subigre avatar Sep 02 '21 14:09 subigre

@subigre pls no google coding style, i would prefer the one we have currrently (at least for the tabulators), or do you have any other preferences ?

SevKohler avatar Sep 09 '21 09:09 SevKohler

¨WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.javers.common.reflection.JaversMember (file:/home/severink/.m2/repository/org/javers/javers-core/5.14.0/javers-core-5.14.0.jar) to field java.lang.Enum.name WARNING: Please consider reporting this to the maintainers of org.javers.common.reflection.JaversMember WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release¨ FIx this it occurs when executing the tests of patient in icu

SevKohler avatar Sep 15 '21 10:09 SevKohler

What is with the JUNIT test that tests coding codes (terminology server), i think we can delete those.

SevKohler avatar Sep 16 '21 12:09 SevKohler

  • Use next final release of openEHR_SDK instead of develop-SNAPSHOT

subigre avatar Oct 05 '21 10:10 subigre

Add exception catcher for timeconverter, since the bride does not show if an error occurs

SevKohler avatar Oct 12 '21 18:10 SevKohler

provide script to autoupdate opts and profiles via just entering the urls autogeneration of paragon files as script

SevKohler avatar Oct 13 '21 09:10 SevKohler

Converters used in conversion API should always:

  • be stateless
  • throw a ConversionException (when the FHIR resource could not be processed)

subigre avatar Oct 20 '21 09:10 subigre