IHD LabFlow (1.4.2)

Download OpenAPI specification:Download

An API for managing orders with Innovative Health Diagnostics.

Introduction

The LabFlow API offers various endpoints to provide diagnostics-as-a-service features to its partners.

Authentication

The LabFlow API offers a single authentication mechanism: API keys. API keys are generated on a per-organization basis and are used to authenticate requests to the API. API keys are passed in the x-api-key header.

Active partners will be provided with an admin portal to manage its own keys. Contact daas.support@ihdlab.coms to request access to the portal or require a staging key for testing.

apiKey

Security Scheme Type: API Key
Header parameter name: x-api-key

Kit

Operations for viewing kits

Get All Kits

Get all of the active configured kits and their associated details

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Kit by ID

Get a specific kit and its details by kit ID

Authorizations:
apiKey
path Parameters
id
required
string

Unique identifier for a kit

Responses

Response samples

Content type
application/json
{
  • "kidId": "kit-d3544371-6b8e-4dfb-a604-55e07b962d13",
  • "panelId": "000999",
  • "externalId": "PRTNR-00001",
  • "name": "Partner Kit #1",
  • "description": "A kit containing a specific test"
}

Order

Operations for handling kit and lab orders

Get Orders

Get all orders for the organization

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Order by ID

Get a specific order by its order ID

Authorizations:
apiKey
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "order-8655eb89-0b28-44f2-9e2b-5779cf5730b7",
  • "status": "NEW",
  • "org": {
    },
  • "kit": {
    },
  • "accession": {
    }
}

Cancel Order by ID

Cancel an order by its order ID

Authorizations:
apiKey
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Create Kit Order

Create an order for a kit

Authorizations:
apiKey
Request Body schema: application/json
required
kitId
required
string [ 1 .. 50 ] characters
required
object

Responses

Request samples

Content type
application/json
{
  • "kitId": "kit-d3544371-6b8e-4dfb-a604-55e07b962d13",
  • "customer": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "success": true,
  • "error": "Error message"
}

Register Kit

Register a kit that has been received by a customer. This will trigger the order to be sent to the lab.

Authorizations:
apiKey
query Parameters
test
string

Instantly populates mock order results when set to true

testType
string
Enum: "RECEIVED" "REJECTED" "RESULTED"

Works when coupled with test; the type of results to populate.

Request Body schema: application/json
required
registrationCode
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "registrationCode": "string",
  • "patient": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "success": true,
  • "error": "Error message"
}

Create Lab Order

Create a lab order directly

Authorizations:
apiKey
query Parameters
test
string

Instantly populates mock order results when set to true

testType
string
Enum: "RECEIVED" "REJECTED" "RESULTED"

Works when coupled with test; the type of results to populate.

Request Body schema: application/json
required
kitId
required
string
externalId
string

An id managed by the partner for this specific object type

dateRegistered
string <date-time> ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
required
object

Responses

Request samples

Content type
application/json
{
  • "kitId": "string",
  • "externalId": "string",
  • "dateRegistered": "2023-01-01T11:11:11Z",
  • "patient": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "success": true,
  • "error": "Error message"
}

Inbox

The inbox provides a mechanism for surfacing updates to orders that are deemed relevant to the partner.

The inbox should be checked between 30 and 60 minutes for the most current results.

Get Inbox

Get all order ids that need attention from the inbox.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Clear the Inbox

Remove all orders from the inbox (does not affect the orders themselves)

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete an Inbox Order by ID

Clear an order from the inbox by its order Id. This does not affect the order itself.

Authorizations:
apiKey
path Parameters
id
required
string

Order ID

Responses

Response samples

Content type
application/json
{
  • "success": true
}