Gravitate-Health / mvp-issues

Gateway for issues/discussions/comments regarding MVPs development.
0 stars 0 forks source link

Update HAPI SERVER in FOSPS #28

Closed joofio closed 8 months ago

joofio commented 10 months ago

its now 6.6.0 and 6.10 at least is available. This version has a bug on the language search (creates problems for searching epis)

gmej commented 9 months ago

For ePI or IPS? there are two FHIR servers due to R4 and R5 resources. Anyway we would ike some help with this task. Our repo for FHIR is a fork we did some omnths ago from the original. What's the best practice to upgrade this server? Should we pull the changes made on the original fhir repo?

joofio commented 9 months ago

epi. You are using docker right?

gmej commented 9 months ago

Kuebernetes, which is the same at the end. We are deploying via the FHIR Helm Chart

joofio commented 9 months ago

hum, dont know for sure, but could you just update the docker? Is that feasbile?

gmej commented 9 months ago

Yes, we can, we will do it through this week or next one. We can take advantage and upgrade everything that is necessary. Is there any udpate on the IGs for GH? We are using the IPS IG v1.1.0, is there any update on that IG?

For the ePI server, are there any IGs we are missing to include?

joofio commented 9 months ago

IPS is stable. that is ok. With the updated HAPI, things will go smoother for search and query.

@jkiddo do you see any issue here that i may be forgetting? The server gets a clean install of content everyday.

gmej commented 9 months ago

Hmmm well, the server updates resources daily (the connector does it) but the deployment and configuration of the FHIR servers themselves is done via configuration that we have to apply and change, updates on that are not automatic.

With the udpates we get on this issue, we will update both FHIR servers and necessary and leave them ready forMVP3.

joofio commented 9 months ago

Seems like a good idea. But can we test in the dev environment before?

jkiddo commented 9 months ago

IPS is stable. that is ok. With the updated HAPI, things will go smoother for search and query.

@jkiddo do you see any issue here that i may be forgetting? The server gets a clean install of content everyday.

Nop - no issue as I see it

joofio commented 9 months ago

@gmej can we test on the dev then?

gmej commented 9 months ago

Yes of course, we should try this on dev first

joofio commented 9 months ago

great, let me know when you pick this up so i can help

joofio commented 9 months ago

will this be done this week?

gmej commented 9 months ago

Hi, sorry for delaying this that much.

Both epi and ips servers are upgraded to 6.10 only in dev.

There was an error with the following implementation guide when deploying the ePI server in application.yaml, it "couldn't be found":

    implementationguides:
      gh_0_1_0:
        url: https://build.fhir.org/ig/hl7-eu/gravitate-health/package.tgz
        name: hl7.eu.fhir.gh
        version: 0.1.0

Isn't it available anymore?

joofio commented 9 months ago

change the url to packageUrl and check again pls

gmej commented 9 months ago

Thanks, that was the solution. I am struggling with the connector on dev, I'll reach you again when resources are uploaded correctly to dev, as we found a bug in the connector.

gmej commented 9 months ago

Could you check this version upgrade solves the bug related to language search? Contents are already present in the development environment.

joofio commented 9 months ago

I was talking to @jkiddo and I think some configs are needed still. Will get back ASAP

jkiddo commented 9 months ago

HAPI FHIR JPA Starter 7.0.1 is what you want.

gmej commented 8 months ago

I see v7 was released just yesterday! https://github.com/hapifhir/hapi-fhir-jpaserver-starter/releases/tag/image%2Fv7.0.0

Then should we update to 7 now? Is this necessary for now?

joofio commented 8 months ago

lets wait for 7.0.1

joofio commented 8 months ago

@jkiddo I believe the upgrade can be done now and should be solved right?

jkiddo commented 8 months ago

Yes - use 7.0.2

joofio commented 8 months ago

wait not yet

joofio commented 8 months ago

dont have the option ig_runtime_upload_enabled=true. With that false and the option "language_search_parameter_enabled: true" should run ok

gmej commented 8 months ago

So can we udpate it then or should we wait for something? I don't know about those two options, where should we write that?

joofio commented 8 months ago

you can update. the options are for application.yml

gmej commented 8 months ago

both fhir servers? epi and IPS? regarding this, isn't there a way to use only one FHIR server? Are there any plans on doing this?

jkiddo commented 8 months ago

Wait for 7.0.3 to be released

joofio commented 8 months ago

only epi is required. but you can do both if it is easier. IPS is only FHIR R4

joofio commented 8 months ago

Wait for 7.0.3 to be released

why? We dont need the IG run time here

jkiddo commented 8 months ago

If you cant wait 10 minutes then ok

joofio commented 8 months ago

ah ok! Thats great then! Thanks. letts wait for it then

gmej commented 8 months ago

I will upgrade to 7.0.3 tomorrow or monday. If anything should be taken into account I'll be watching this issue.

Also if there are any plans of new versions soon, we can wait and avoid upgrading many times.

joofio commented 8 months ago

no. the language part is quite important. But for now i dont see any issue in the foreseeable future at least that would requite upgrade

gmej commented 8 months ago

@jkiddo I synced the fork, built correctly, but got this log when FHIR was starting:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.2.0)

2024-03-12 11:51:37.636 [background-preinit] INFO  o.h.validator.internal.util.Version [Version.java:21] HV000001: Hibernate Validator 8.0.0.Final
2024-03-12 11:51:37.711 [main] INFO  ca.uhn.fhir.jpa.starter.Application [StartupInfoLogger.java:50] Starting Application using Java 17.0.10 with PID 1 (/app/main.war started by nonroot in /app)
2024-03-12 11:51:37.713 [main] INFO  ca.uhn.fhir.jpa.starter.Application [SpringApplication.java:653] No active profile set, falling back to 1 default profile: "default"
2024-03-12 11:51:40.350 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java:139] Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2024-03-12 11:51:40.809 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java:208] Finished Spring Data repository scanning in 446 ms. Found 53 JPA repository interfaces.
2024-03-12 11:51:41.068 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext [AbstractApplicationContext.java:632] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.support.BeanDefinitionOverrideException: Invalid bean definition with name 'subscriptionQueryValidator' defined in ca.uhn.fhir.jpa.subscription.submit.config.SubscriptionSubmitterConfig: Cannot register bean definition [Root bean: class [null]; scope=; abstract=false; lazyInit=null; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=ca.uhn.fhir.jpa.subscription.submit.config.SubscriptionSubmitterConfig; factoryMethodName=subscriptionQueryValidator; initMethodNames=null; destroyMethodNames=[(inferred)]; defined in ca.uhn.fhir.jpa.subscription.submit.config.SubscriptionSubmitterConfig] for bean 'subscriptionQueryValidator' since there is already [Root bean: class [null]; scope=; abstract=false; lazyInit=true; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=ca.uhn.fhir.jpa.topic.SubscriptionTopicConfig; factoryMethodName=subscriptionQueryValidator; initMethodNames=null; destroyMethodNames=[(inferred)]; defined in class path resource [ca/uhn/fhir/jpa/topic/SubscriptionTopicConfig.class]] bound.
2024-03-12 11:51:41.086 [main] INFO  o.s.b.a.l.ConditionEvaluationReportLogger [ConditionEvaluationReportLogger.java:82] 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-03-12 11:51:41.120 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter [LoggingFailureAnalysisReporter.java:40] 

***************************
APPLICATION FAILED TO START
***************************

Description:

The bean 'subscriptionQueryValidator', defined in ca.uhn.fhir.jpa.subscription.submit.config.SubscriptionSubmitterConfig, could not be registered. A bean with that name has already been defined in class path resource [ca/uhn/fhir/jpa/topic/SubscriptionTopicConfig.class] and overriding is disabled.

Action:

Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true
2024-03-12T12:51:41.129356798+01:00
jkiddo commented 8 months ago

@gmej see https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/655

gmej commented 8 months ago

Thanks for the fast response. ePI server in development is already upgraded to v7.0.2

joofio commented 8 months ago

@gmej the parameter is "language_search_parameter_enabled: true" is it enabled?

gmej commented 8 months ago

Done

joofio commented 8 months ago

did you restart?

gmej commented 8 months ago

Yes, isn't this feature available? Have you checked you are trying in development?

joofio commented 8 months ago

yes

HTTP/1.1 400 Bad Request
x-powered-by: HAPI FHIR 7.0.2 REST Server (FHIR Server; FHIR 5.0.0/R5)
x-request-id: 432bbb72-fa79-9b1a-b23e-1316573bae65
content-type: application/fhir+json;charset=UTF-8
date: Mon, 18 Mar 2024 11:09:17 GMT
x-envoy-upstream-service-time: 66
server: istio-envoy
connection: close
transfer-encoding: chunked

{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "processing",
      "diagnostics": "HAPI-1223: Unknown search parameter \"_language\" for resource type \"Composition\". Valid search parameters for this search are: [_id, _lastUpdated, _text, attester, author, category, date, encounter, entry, event-code, event-reference, identifier, patient, period, related, section, section-code-text, section-text, status, subject, title, type, url, version]"
    }
  ]
}

how did you put the parameter? the full name is hapi.fhir.language_search_parameter_enabled=true

gmej commented 8 months ago

My bad. Now it should be working, I am able to search with "_language", even though 0 results are returned

joofio commented 8 months ago

it now works. there is the need to reindex for these things to work:

reindex

POST https://gravitate-health.lst.tfo.upm.es/epi/api/fhir/$reindex

Good Job!