Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

HTTP requests are made up of four parts. Take this example client request to a FHIR API:

 1) Method - the action to be performed on a resource

The method indicates the action to be performed on a resource within the API. 

With Iguana’s net.http.* library, you can invoke different HTTP methods:  

  • net.http.get{} - query or retrieve resources.

  • net.http.post{} - to add or create a resource.

  • net.http.put{} - update an existing resource.

  • net.http.delete{} - remove a resource.

 2) Endpoint - the URL where the resource is found

The URL defines where the client can access the desired resources - for example the Patient resource.  

url='http://hapi.fhir.org/baseR4/Patient'

For GET requests, the URL may also contain any necessary query parameters like the id of the patient you are searching for.  

When using net.http.get{}, the parameters argument takes in a table of key-value pairs and automatically formats the query string.

http://hapi.fhir.org/baseR4/Patient?id=12324&name=John
 3) Header - the metadata providing information about the request

The header includes metadata requirements defined by the API to provide information about the request.

headers= {
  ['Content-Type'] = 'application/fhir+json',
  ['Authorization'] = 'Bearer '..token
}

This can contain information such as: 

  • Connection and content types 

  • Authentication information like credentials or an access token

  • MIME types

  • Entity tags (ETAGS)

 4) Body - the payload of the request, containing the content to be sent

Some requests require a body where we add the resource content or additional information to be sent to the server. This can be in a few potential formats:

JSON

[{
    "patientid": "33751",
    "status": "active",
    "firstname": ”Bruce",
    "lastname": ”Wayne",
	...
}]

XML

<patient>
  <patientid>33751</patientid>
   <status>active</status>
   <firstname>Bruce</firstname>
   <lastname>Wayne</lastname>
</patient>

Query String format

The query string can be found in the body or can be included in the URL of the request.

patientid=33751&status=active&firstname=Bruce&lastname=Wayne

  • No labels