OpenAPI Specification
openapi: 3.1.0
info:
title: Meditech Expanse FHIR R4 Allergy Patient API
description: Meditech Expanse FHIR API enables standards-based interoperability for sharing patient data across healthcare systems. Supports TEFCA-aligned data exchange through the Traverse Exchange national network, connecting over 700 facilities across 41 US states. Built on HL7 FHIR R4 standards.
version: 4.0.0
contact:
name: Meditech Support
url: https://ehr.meditech.com/contact
license:
name: Proprietary
url: https://ehr.meditech.com/privacy-policy
servers:
- url: https://{facility}.meditech.com/fhir/r4
variables:
facility:
default: yourhospital
description: Your Meditech facility subdomain
security:
- SMART_OAuth2:
- patient/*.read
- user/*.read
- launch
tags:
- name: Patient
description: US Core Patient resources
paths:
/Patient:
get:
operationId: searchPatients
summary: Search patients
description: Search for patient records using FHIR search parameters including name, birthdate, identifier, and gender. Implements US Core Patient profile.
tags:
- Patient
parameters:
- name: identifier
in: query
schema:
type: string
description: MRN or other identifier (e.g., identifier=MR|12345)
- name: family
in: query
schema:
type: string
- name: given
in: query
schema:
type: string
- name: birthdate
in: query
schema:
type: string
description: FHIR date parameter (e.g., birthdate=1980-01-01)
- name: gender
in: query
schema:
type: string
enum:
- male
- female
- other
- unknown
- name: _count
in: query
schema:
type: integer
default: 20
maximum: 200
- name: _format
in: query
schema:
type: string
enum:
- json
- xml
default: json
responses:
'200':
description: Bundle of matching Patient resources
content:
application/fhir+json:
schema:
$ref: '#/components/schemas/Bundle'
'401':
$ref: '#/components/responses/Unauthorized'
/Patient/{id}:
get:
operationId: getPatient
summary: Get patient by ID
description: Retrieve a specific patient resource by FHIR logical ID.
tags:
- Patient
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Patient resource
content:
application/fhir+json:
schema:
$ref: '#/components/schemas/Patient'
'404':
$ref: '#/components/responses/NotFound'
/Patient/{id}/$everything:
get:
operationId: getPatientEverything
summary: Get all patient data (Patient $everything)
description: Returns all resources related to a patient in a single Bundle. Implements the FHIR $everything operation for bulk patient data access.
tags:
- Patient
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: start
in: query
schema:
type: string
format: date
- name: end
in: query
schema:
type: string
format: date
responses:
'200':
description: Bundle containing all patient-linked resources
content:
application/fhir+json:
schema:
$ref: '#/components/schemas/Bundle'
components:
schemas:
Bundle:
type: object
description: FHIR Bundle resource
properties:
resourceType:
type: string
enum:
- Bundle
id:
type: string
type:
type: string
enum:
- searchset
- collection
- transaction
- batch
- history
total:
type: integer
link:
type: array
items:
type: object
properties:
relation:
type: string
url:
type: string
entry:
type: array
items:
type: object
properties:
fullUrl:
type: string
resource:
type: object
additionalProperties: true
OperationOutcome:
type: object
properties:
resourceType:
type: string
enum:
- OperationOutcome
issue:
type: array
items:
type: object
properties:
severity:
type: string
enum:
- fatal
- error
- warning
- information
code:
type: string
diagnostics:
type: string
Patient:
type: object
description: FHIR R4 Patient resource (US Core Patient Profile)
properties:
resourceType:
type: string
enum:
- Patient
id:
type: string
meta:
type: object
properties:
versionId:
type: string
lastUpdated:
type: string
format: date-time
profile:
type: array
items:
type: string
identifier:
type: array
items:
type: object
properties:
use:
type: string
type:
type: object
properties:
coding:
type: array
items:
type: object
properties:
system:
type: string
code:
type: string
system:
type: string
value:
type: string
active:
type: boolean
name:
type: array
items:
type: object
properties:
use:
type: string
enum:
- official
- usual
- nickname
- anonymous
family:
type: string
given:
type: array
items:
type: string
telecom:
type: array
items:
type: object
properties:
system:
type: string
enum:
- phone
- fax
- email
- pager
- url
- sms
value:
type: string
use:
type: string
enum:
- home
- work
- temp
- old
- mobile
gender:
type: string
enum:
- male
- female
- other
- unknown
birthDate:
type: string
format: date
deceasedBoolean:
type: boolean
deceasedDateTime:
type: string
format: date-time
address:
type: array
items:
type: object
properties:
use:
type: string
line:
type: array
items:
type: string
city:
type: string
state:
type: string
postalCode:
type: string
country:
type: string
communication:
type: array
items:
type: object
properties:
language:
type: object
properties:
coding:
type: array
items:
type: object
properties:
system:
type: string
code:
type: string
responses:
Unauthorized:
description: SMART on FHIR authorization required
content:
application/fhir+json:
schema:
$ref: '#/components/schemas/OperationOutcome'
NotFound:
description: Resource not found
content:
application/fhir+json:
schema:
$ref: '#/components/schemas/OperationOutcome'
securitySchemes:
SMART_OAuth2:
type: oauth2
description: SMART on FHIR OAuth 2.0 authorization
flows:
authorizationCode:
authorizationUrl: https://yourhospital.meditech.com/oauth/authorize
tokenUrl: https://yourhospital.meditech.com/oauth/token
scopes:
patient/*.read: Read access to all patient-owned resources
user/*.read: Practitioner read access to all resources
launch: EHR launch context
openid: OpenID Connect identity
fhirUser: FHIR user claim
externalDocs:
description: Meditech Interoperability Documentation
url: https://ehr.meditech.com/ehr-solutions/meditech-interoperability