openapi: 3.0.3
info:
version: 1.0.0
title: Query Connector API - OpenAPI 3.0
# TODO: IMPLEMENT THIS PORTION PRIOR TO SHIPPING API
# components:
# securitySchemes:
# OAuth2:
# type: oauth2
# flows:
# authorizationCode:
# authorizationUrl: https://example.com/oauth/authorize
# tokenUrl: https://example.com/oauth/token
# scopes:
# read: Grants read access
# write: Grants write access
# admin: Grants access to admin operations
paths:
/api:
get:
description: Returns the health status of the API
responses:
200:
description: Health check for Query Connector
/api/query:
post:
description: A POST endpoint that accepts a FHIR patient resource or an HL7v2 message in the request body to execute a query within the Query Connector
parameters:
- name: fhir_server
in: query
description: Name of the FHIR server to query
required: true
schema:
type: string
example: "HELIOS Meld: Direct"
- name: id
in: query
description: ID of the query to use
required: true
schema:
type: string
example: cf580d8d-cc7b-4eae-8a0d-96c36f9222e3
- name: message_format
in: query
description: Whether the request body contents are HL7 or FHIR formatted messages
schema:
type: string
enum: [HL7, FHIR]
example: FHIR
requestBody:
required: true
content:
application/json:
schema:
type: object
example:
{
"resourceType": "Patient",
"id": "1C",
"meta":
{
"versionId": "1",
"lastUpdated": "2024-01-16T15:08:24.000+00:00",
"source": "#Aolu2ZnQyoelPvRd",
"profile":
[
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient",
],
},
"text":
{
"status": "generated",
"div": '
This is a simple narrative with only plain text
',
},
"extension":
[
{
"url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race",
"extension":
[
{
"url": "ombCategory",
"valueCoding":
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"code": "2106-3",
"display": "White",
},
},
{ "url": "text", "valueString": "Mixed" },
],
},
{
"url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity",
"extension":
[
{
"url": "ombCategory",
"valueCoding":
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"code": "2135-2",
"display": "Hispanic or Latino",
},
},
{
"url": "text",
"valueString": "Hispanic or Latino",
},
],
},
],
"identifier":
[
{
"use": "usual",
"type":
{
"coding":
[
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "MR",
"display": "Medical Record Number",
},
],
"text": "Medical Record Number",
},
"system": "http://hospital.smarthealthit.org",
"value": "8692756",
},
],
"active": true,
"name":
[
{
"family": "Shaw",
"given": ["Lee", "A."],
"period": { "start": "1975-12-06", "end": "2020-01-22" },
},
{
"family": "Shaw",
"given": ["Lee", "V."],
"suffix": ["MD"],
"period": { "start": "2020-01-23" },
},
],
"telecom":
[
{
"system": "phone",
"value": "517-425-1398",
"use": "home",
},
{ "system": "email", "value": "lee.shaw@email.com" },
],
"gender": "male",
"birthDate": "1975-12-06",
"address":
[
{
"line": ["49 Meadow St"],
"city": "Lansing",
"state": "MI",
"postalCode": "48864",
"country": "US",
"period": { "start": "2016-12-06", "end": "2020-07-22" },
},
{
"line": ["183 Mountain View St"],
"city": "Lansing",
"state": "MI",
"postalCode": "48901",
"country": "US",
"period": { "start": "2020-07-22" },
},
],
}
responses:
200:
description: The FHIR resources returned that match the information configured in the query referenced
400:
description: Missing patient identifiers
500:
description: Something went wrong :(
get:
description: A GET endpoint that accepts a series of query parameters to execute a query within the Query Connector. At least one of the patient identifier params are required
parameters:
- name: fhir_server
in: query
description: Name of the FHIR server to query
required: true
schema:
type: string
example: "HELIOS Meld: Direct"
- name: id
in: query
description: ID of the query to use
required: true
schema:
type: string
example: cf580d8d-cc7b-4eae-8a0d-96c36f9222e3
- name: given
description: Patient given name. At least one of the patient identifier params are required
in: query
schema:
type: string
example: Lee
- name: family
in: query
description: Patient family name. At least one of the patient identifier params are required
schema:
type: string
example: Shaw
- name: dob
in: query
description: Patient date of birth in YYYY-MM-DD format. At least one of the patient identifier params are required
schema:
type: string
example: 1975-12-06
- name: mrn
in: query
description: Patient medical record number. At least one of the patient identifier params are required
schema:
type: string
example: 8692756
- name: phone
in: query
description: Patient phone number. At least one of the patient identifier params are required
schema:
type: string
example: 517-425-1398
responses:
200:
description: The FHIR resources returned that match the information configured in the query referenced
400:
description: Missing patient identifiers
500:
description: Something went wrong :(