Setting up SMART on FHIR server

253 views
Skip to first unread message

Myung Choi

unread,
Sep 5, 2015, 6:21:51 AM9/5/15
to SMART on FHIR
Hi, This is Myung at Georgia Tech.

As we communicated earlier on emails, I am trying to set up SMART on FHIR server using our FHIR server implementation. And, I am first using your internal communications between Auth server and FHIR server as our first step (we understand it's out of scope for SMART on FHIR standard). 

Now, I am responding to _services/smart/Launch call to register the request and respond as follows (I am using BP_centiles app for testing),

{
  "username": "client",
  "created_by": "bp_centiles",
  "parameters": {
    "patient": "1",
    "need_patient_banner": true,
  },
  "launch_id": "6",
  "created_at": "2015-09-05T10:05"
}

Now, bp_centiles is saying loading.. then it still thinks it's launching outside SMART container. On FHIR server, I didn't get [GET]_services/smart/Launch/1 at our FHIR server, which supposed to be contacted by Auth server if I understand correctly.  

Am I missing anything here for the internal communication for SMART container? And, how should I respond to [GET] _services/smart/Launch/<launchID> call? And, it's always GET HTTP call, right?

Thanks,
Myung

Nikolai Schwertner

unread,
Sep 5, 2015, 7:33:38 AM9/5/15
to smart-...@googlegroups.com
Are you trying to test this against our public authorization server (authorize.smarthealthit.org) or your own copy? One thing to keep in mind is that our public auth servers are configured to only communicate with our API servers, so trying with another server will fail. Setting up your own server will work, but it needs to be configured against your API server.

-Nikolai
--
You received this message because you are subscribed to the Google Groups "SMART on FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to smart-on-fhi...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Myung Choi

unread,
Sep 5, 2015, 11:08:03 AM9/5/15
to SMART on FHIR
I am dong everything with our own copy, currently running all local. Here is what I did.

1. Installed using SMART on FHIR installer. Changed the auth-server configuration file in /etc/init to use our own FHIR server (we changed -DCONTEXT_FHIR_ENDPOINT)
2. When we are using fhirStarter, we went to Settings to use our FHIR server (manual typing)
3. Conformance statement has auth server URLs.

We started, fhirStarter.
1. fhirStarter is getting meta information successfully. 
2. fhirStarter is authorized using the local auth-server (MITREOpenID). And, I used introspecToken in FHIR server to grant list of Patients.
3. In fhirStarter, I chose one patient, which lead me to list of App.
4. I am receiving _services/smart/Launch with selected patient information probably from fhirStarter.
5. I returned with the JSON object
{
  "username": "client",
  "created_by": "bp_centiles",
  "parameters": {
    "patient": "1",
    "need_patient_banner": true,
  },
  "launch_id": "6",
  "created_at": "2015-09-05T14:59"
}

6. On the fhirStarter page, I see "loading..." But, the bp_centiles says that I am running the app outside SMART container and moves to sample demo site.

After this, when I check on our FHIR server console, I don't see a call receiving to _services/smart/Launch/1 , which I believe the next call for resolving launch_id.

So, I have two questions. 1. Do I missing anything? Why am I not receiving _services/smart/Launch/1?  2. How should I respond to _services/smart/Launch/1 ? I should send (for current testing) patient/1


Thank you for your help !!

Myung

Myung Choi

unread,
Sep 8, 2015, 2:50:31 AM9/8/15
to SMART on FHIR
I think I found what the problem is. The installer is setting up everything within VM with NAT. Obviously, the VM will connect to the host with NAT gateway. I must be out of mind that I missed this basic and used "localhost" for the endpoint URL. 

Since the openID server is checking server URL and aud URL with a string match, I had to use same string at both fhirStarter. I've set up a quick host entries in hosts file in both host and guest machines. Now, the auth server can talk to my FHIR server in the host machine with a same name. 

And, it seems working. bp_centiles is displaying the bps after authorization. 

Nikolai and Josh. Thank you for your support. I still have lots of stuff to clean up. But, I am getting basic stuff working. Now, I will do our work flows. Your internal communication link really helps us saving our time. I think the same communication also supports our work flows. But, if not, we will report it here. 

Thank you again.
Reply all
Reply to author
Forward
0 new messages