Written by

Sales Engineer at InterSystems
Article Kate Lau · Mar 12, 2023 1m read

Create FHIR REST Client

Add a credential to login the FHIR REST interface - in this case only consider a basic authentication

 

Add Service Registry  - in this case only consider a basic authentication

- setup a HTTP service

- input the Path to the FHIR Server

- input the URL to the FHIR service

- use the credential profiled
 

 

Add a "HS.FHIRServer.Interop.HTTPOperation"

Choose the Service Name

Test the FHIR Client

Trace the test result

Comments

Michael Lei · Mar 13, 2023

Great Article, Kate! Could you pls translate and also post on CN DC? Thx!

0
Kate Lau  Mar 15, 2023 to Michael Lei

Sure, let me do it on Friday

0
Stella Ticker · May 14, 2024

@Kate Lau 
This is wonderful! Thanks alot!

I have not looked at the class reference so please pardon me if my questions are basic! But how would you modify the request to add things like modifiers and parameters? Would they be placed in the Request Path String? Also, if this client authenticates with the FHIR Repository through certificates, how is that handled?

Thank you

0
Scott Roth · May 16, 2024

I know this is not using OAuth, but OAuth is just the Authentication method.

When I attempt to do something similar to search Patient for identifier=OSUMRN|xxxxx I keep getting a 404 not found error. Nothing is showing up within the ISCLOG under %SYS globals. Is there anyway I can see the trace of making the calls to verify that the correct API's are being called in the correct format? What is the magic chant to get the ISCLOG to capture the information?

0
sween  May 16, 2024 to Scott Roth

I use these globals to take a peak at the calls:

zn"YOURFHIRNAMESPACE"Set^FSLogChannel("all")=1zn"%SYS"Kill^%ISCLOGKill^ISCLOGSet^%ISCLOG=5Set^%ISCLOG("Category","HSFHIR")=5Set^%ISCLOG("Category","HSFHIRServer")=5Set^%ISCLOG("Category","OAuth2")=5Set^%ISCLOG("Category","OAuth2Server")=5

then
 

zw^FSLOG

in the fhir namespace.

Shows the route, params and helpful with oauth2/SMART where the route has to match the patientid in the token.
 

0
Scott Roth  May 28, 2024 to sween

when I tried a

zw^FSLOG

nothing is written out...

0