STARS Implementation Guide
0.3.0 - ci-build

STARS Implementation Guide - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

STARS Api

STARS Api Overview

This will show the usage steps to use the API directly rather than the client. the same steps are followed internally by the client.

The STARS Client provides a wrapper to communicate with the FHIR server using a simpler file system. This allows a basic integration for non-FHIR based systems to be able to send and receive messages using a simple interface based simple data structure models such as CSV.

The client is built to match the release of the FHIR server and profiles.

File Formats

  • CSV - flat column and row structure. Templates created in Root Data Folder path (template_servicerequest.csv, template_diagnosticreport.csv).
  • basic model - intermediary format during conversion.
  • FHIR+XML - xml file, complete fhir message, ready to send.
  • FHIR+JSON - json file, complete fhir message, ready to send.

Swagger Documentation

The individual Api endpoints are fully documented using Swagger OpenApi format available on starsapi.csiro.au

Highlights

Authentication

Authentication, OpenIdConect JWT authenticate first time with username/password to retrieve access_toekn and refresh_token.

POST https://auth.acdp.csiro.au/realms/csiro/protocol/openid-connect/token
x-www-form-urlencoded body
| grant_type | password |
| client_id | starsapi |
| username | [username] |
| password | [password] |
| scope | offline_access |

authenticate with access_token for each request. if access_token as expired, request a new access_token using the refresh_token authentication mechanism.

POST https://auth.acdp.csiro.au/realms/csiro/protocol/openid-connect/token
x-www-form-urlencoded body
| grant_type | password |
| client_id | starsapi |
| username | [username] |
| password | [password] |
| scope | offline_access |

Messages - Pending

messages are accessed by their message_id (UUID)

all messages on the server are in FHIR JSON format will be validated for conformity on message send

all pending messages single message_id

remember to update the status of the message to Completed after successfully receiving the message.

Process

Receive FHIR Messages

  1. authenticate
  2. check for pending messages
    1. for each pending message
    2. get message
    3. save base64 encoded as json
    4. update message status

Send FHIR Messages

  1. authenticate
  2. send message with json body