GSOC 2021 Smart-on-FHIR

Hi all, I am interested by the Smart-on-FHIR project. Correct me if I am wrong, the purpose of the project is to create a Rest API to communicate with the OpenMRS endpoint and the same endpoint is linked to the FHIR modules using the Keycloak module. If yes, then I have other questions: What are the improvements the community is looking for the Keycloak module? Can I also get a link to the Jira registration? What specific are we talking about when it comes to the patient and encounter scope?

Thanks in advance…

1 Like

Hello @djibrillamohamed

Not exactly, we are focusing on authorizing the SMART App to use the OpenMRS resources here. So we need an authorization server that generates the Access token.

If you want to see how SMART App requests the resource and scope. Check this out SMART on FHIR JavaScript Library | SMART JS Client Library.

Right now, we only support Patient EHR and standalone launch (need polishing). We need to add EHR and standalone launch for Encounter. See all issues.

You can request here Jira Service Management

The scope limits the amount of access that is granted to an access token. Check this out SMART App Launch: Scopes and Launch Context.

I hope this will be helpful. Thanks

Hello Team, Does the keycloak github found here " GitHub - openmrs/openmrs-contrib-keycloak-smart-auth" implements the SMART authorization & FHIR access: overview? If yes is it totally? What are the areas that needs work or polishing? Has the security measures been put in place as recommended?

Hello @djibrillamohamed

Yes, you are right; you can find the keycloak implementation here. Moreover, we also need user info from the OpenMRS database for that, we have GitHub - openmrs/openmrs-contrib-keycloak-auth: A plugin for Keycloak to authenticate users against the OpenMRS data store.

Patient EHR and standalone launch need polishing like we have to bypass the authentication (Username Password) Screen from the flow. See all issues.

We don’t need to worry about the security measures because keycloak manage it completely.

1 Like

Hello, I am trying to install the client on my computer and I am faced with the following issue: I installed the client “npm ifhirclient” + hapi “nom install @hapi/hapi”

But I am still faced with a json package missing. Find attached screenshoot of my error Any clue on how to resolve it?

Hi @djibrillamohamed, this problem usually occurs because when your targeted directory is not an npm directory. In the sense that npm has not been initialized. Try resolving your targeted directory path and ensure you are in the right directory. A workaround this issue might be this… If you know all the dependencies required to launch the application? Then you can try running npm init first before installing the required dependencies.

1 Like

Thanks @joachimjunior

No worries @djibrillamohamed. Please just do me the favour of giving us a feed back if you succeed.

Hello @djibrillamohamed, As I can understand, you are trying to setup-up a SMART App (client) to Test SMART-on-FHIR.

Adding to what @joachimjunior correctly said, you need to create a module in the client. This module must contain launch-standalone.html and index.html so that client can request the resource and scopes.

After that, in the newly created module directory run, npm start to run the client application.

Please follow the SMART-on-FHIR JS library SMART on FHIR JavaScript Library | SMART JS Client Library

I have created a Demo SMART App. You can take the references.

1 Like

Hello @joachimjunior, I now have the following screen…

Thanks @theanandankit, my main skillset is in Java. I am going through.

Great step ahead @djibrillamohamed, right now you are seeing this error because you are trying to run a script not stated in your package.json file.

Look at the scripts section in your package.json and see the commands available. You can modify them the way you want. That is… if you have the required knowledge to do that. If that’s not the case, I’d recommend you go through this resources.

  1. Getting started | npm Docs
  2. An Absolute Beginner's Guide to Using npm - NodeSource