Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HAPI FHIR Validation Server setup and deployment #306

Open
ndegwamartin opened this issue Oct 24, 2024 · 7 comments
Open

HAPI FHIR Validation Server setup and deployment #306

ndegwamartin opened this issue Oct 24, 2024 · 7 comments

Comments

@ndegwamartin
Copy link
Contributor

ndegwamartin commented Oct 24, 2024

We need to have a running HAPI FHIR server in order to support validation. Our implementation requires a live server to be running - see #305

We could have the server deployed for the validation and maybe use the same server for terminologies as per the FHIR spec (Documentation on when to use a Terminology Service in FHIR)

Factors to consider:

  1. Specs of the server - If the server is a validation server only we need less computing resources than a terminology server (for all projects)
  2. Server software versions - We can deploy the latest JPA + HAPI FHIR Server or the current one we have in our deployments to be aligned to current production
  3. HAPI FHIR Modules - We need to enable the Clinical Reasoning module when deploying - see CR flag deployment script
@Wambere
Copy link
Contributor

Wambere commented Oct 24, 2024

One more thing, for the QuestionnaireResponse to be generated as expected we need to have cr enabled set to true

ref link

@pld
Copy link
Member

pld commented Oct 24, 2024

is the other option to spin up a HAPI server in the CI flow, run tests against that, then spin it down, but problem w/this is that it'd be too slow?

@ndegwamartin
Copy link
Contributor Author

is the other option to spin up a HAPI server in the CI flow, run tests against that, then spin it down, but problem w/this is that it'd be too slow?

Should be feasible to implement but will be a higher LOE and C.I. will probably be slower when running the validation

@ndegwamartin
Copy link
Contributor Author

Here are the final steps based on the stated factors:

  1. We only need to focus on validation for now so a low spec server is fine
  2. For the JPA + HAPI server lets use the latest - https://github.com/hapifhir/hapi-fhir-jpaserver-starter
  3. The CR flag should be enabled as highlighted above - Sample config here
  4. We can use the Google Gateway for auth - Google FHIR Gateway 0.4.0 and release artifacts here and here (docker)
  5. Gateway configurations are as on the main README - https://github.com/google/fhir-gateway

@ndegwamartin
Copy link
Contributor Author

We can investigate whether it is feasible to whitelist requests from Github(C.I.) and then use that as the auth mechanism in which case we will not need the Keycloak and Gateway setups (thanks for this @pld )

cc @bennsimon @dubdabasoduba

@dubdabasoduba
Copy link
Member

@ndegwamartin what are these used for? If they are used somehow for validation do we need the server? I haven't checked so I might be sending you on a wild goose chase.

@ndegwamartin
Copy link
Contributor Author

@ndegwamartin what are these used for? If they are used somehow for validation do we need the server? I haven't checked so I might be sending you on a wild goose chase.

That is a config on the server side, i.e HAPI itself . The above configures the url as logical identifiers - https://hapifhir.io/hapi-fhir/docs/server_jpa/configuration.html#logical-references

Note, our validation approach requires the server with or without that enabled since we use $populate operations for the QR generation cc @Wambere

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants