Summary Table
Categories |
Total Count |
PII |
0 |
URL |
0 |
DNS |
0 |
EKL |
0 |
IP |
0 |
PORT |
0 |
VsID |
0 |
CF |
0 |
AI |
0 |
VPD |
0 |
PL |
0 |
Other |
0 |
File Content
openapi: '3.0.0'
info:
title: AMPL GUI Services
description: This is the client-facing middleware service for the AMPL GUI Project
version: 0.1.0
servers:
- url: http://localhost:9200/dstu2/v1/
description: Local development instance using dev FHIR resources
- url: http://localhost:9200/int/v1/
description: Local development instance using internally generated mock data
tags:
- name: info
description: System Information
- name: patient
description: Patient Data
- name: orders
description: Pharmacy Order Information
paths:
/info/build/details:
get:
tags:
- info
summary: Retrieve api build information
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BuildInformation'
/int/v1/patients/{patientId}:
get:
tags:
- patient
summary: Get patient details
description: Returns demographic and contact data for a single patient
operationId: getPatientDetailsById
parameters:
- $ref: '#/components/parameters/patientParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/sizeParam'
- $ref: '#/components/parameters/searchParam'
- $ref: '#/components/parameters/sortParam'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PatientDetails'
'400':
description: Invalid ID supplied
'404':
description: Patient not found
/int/v1/patients/{patientId}/allergies:
get:
tags:
- patient
summary: Get patient allergies
description: Returns a single patient's recorded allergies
operationId: getAllergiesByPatientId
parameters:
- $ref: '#/components/parameters/patientParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/sizeParam'
- $ref: '#/components/parameters/searchParam'
- $ref: '#/components/parameters/sortParam'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Allergy'
'400':
description: Invalid ID supplied
'404':
description: Patient not found
/int/v1/patients/{patientId}/consults:
get:
tags:
- patient
summary: Get patient consults
description: Returns a single patient's recorded consults
operationId: getConsultsByPatientId
parameters:
- $ref: '#/components/parameters/patientParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/sizeParam'
- $ref: '#/components/parameters/searchParam'
- $ref: '#/components/parameters/sortParam'
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Consult'
'400':
description: Invalid ID supplied
'404':
description: Patient not found
/int/v1/patients/{patientId}/labs:
get:
tags:
- patient
summary: Get patient labs
description: Returns a single patient's recorded labs
operationId: getLabsByPatientId
parameters:
- $ref: '#/components/parameters/patientParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/sizeParam'
- $ref: '#/components/parameters/searchParam'
- $ref: '#/components/parameters/sortParam'
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Lab'
'400':
description: Invalid ID supplied
'404':
description: Patient not found
/int/v1/patients/{patientId}/measurements:
get:
tags:
- patient
summary: Get patient measurements
description: Returns a single patient's recorded measurements
operationId: getMeasurementsByPatientId
parameters:
- $ref: '#/components/parameters/patientParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/sizeParam'
- $ref: '#/components/parameters/searchParam'
- $ref: '#/components/parameters/sortParam'
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Measurement'
'400':
description: Invalid ID supplied
'404':
description: Patient not found
/int/v1/patients/{patientId}/progress-notes:
get:
tags:
- patient
summary: Get patient progress notes
description: Returns a single patient's progress notes
operationId: getProgressNotesByPatientId
parameters:
- $ref: '#/components/parameters/patientParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/sizeParam'
- $ref: '#/components/parameters/searchParam'
- $ref: '#/components/parameters/sortParam'
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProgressNote'
'400':
description: Invalid ID supplied
'404':
description: Patient not found
/int/v1/patients/{patientId}/immunizations:
get:
tags:
- patient
summary: Get patient immunizations
description: Returns a single patient's immunization history
operationId: getImmunizationsByPatientId
parameters:
- $ref: '#/components/parameters/patientParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/sizeParam'
- $ref: '#/components/parameters/searchParam'
- $ref: '#/components/parameters/sortParam'
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Immunization'
'400':
description: Invalid ID supplied
'404':
description: Patient not found
/int/v1/patients/{patientId}/problem-list:
get:
tags:
- patient
summary: Get patient problem list
description: Returns a single patient's problem list
operationId: getProblemListByPatientId
parameters:
- $ref: '#/components/parameters/patientParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/sizeParam'
- $ref: '#/components/parameters/searchParam'
- $ref: '#/components/parameters/sortParam'
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
'400':
description: Invalid ID supplied
'404':
description: Patient not found
/int/v1/patients/{patientId}/appointments:
get:
tags:
- patient
summary: Get patient appointments
description: Returns a single patient's appointments
operationId: getAppointmentsByPatientId
parameters:
- $ref: '#/components/parameters/patientParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/sizeParam'
- $ref: '#/components/parameters/searchParam'
- $ref: '#/components/parameters/sortParam'
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Appointment'
'400':
description: Invalid ID supplied
'404':
description: Patient not found
components:
parameters:
patientParam:
name: patientId
in: path
description: MPIID of patient to return
required: true
schema:
type: string
pageParam:
name: page
in: query
description: for paging, the page of size results to return.
required: false
schema:
type: integer
format: int64
default: 1
sizeParam:
name: size
in: query
description: number of results to return.
required: false
schema:
type: integer
format: int64
default: 100
searchParam:
name: search
in: query
description: comma-delimited list of field + search operator + values (in quotes is AND not in quotes is OR) to filter results, where search operator is one of
':' - equal to,
'!' - not equal to,
'>' - greater than,
'>:' - greater than or equal to,
'<' - less than,
'<:' - less than or equal to,
'~' - contains
required: false
schema:
type: string
sortParam:
name: sort
in: query
description: comma-delimited list of field[ASC|DESC] strings to sort results by, eg. name[ASC],date[DESC]
required: false
schema:
type: string
schemas:
PatientIdentity:
type: object
required:
- patientId
- fullName
properties:
patientId:
type: string
fullName:
type: string
dfn:
type: string
dob:
type: string
format: date-time
dateOfDeath:
type: string
format: date-time
age:
type: string
gender:
type: string
ssn:
type: string
PatientDetails:
allOf:
- $ref: '#/components/schemas/PatientIdentity'
- type: object
properties:
site:
$ref: '#/components/schemas/Facility'
remoteSitesVisited:
type: array
items:
$ref: '#/components/schemas/Facility'
oneVAStatus:
type: string
eligibility:
$ref: '#/components/schemas/PatientEligibility'
disabilities:
type: array
items:
$ref: '#/components/schemas/PatientDisability'
patientCareTeams:
type: array
items:
$ref: '#/components/schemas/PatientCareTeam'
contactDetails:
$ref: '#/components/schemas/Contact'
permanentAddress:
$ref: '#/components/schemas/PermanentAddress'
temporaryAddress:
$ref: '#/components/schemas/TemporaryAddress'
confidentialAddress:
$ref: '#/components/schemas/ConfidentialAddress'
emergencyResponse:
type: string
emergencyContactPrimary:
$ref: '#/components/schemas/Person'
emergencyContactSecondary:
$ref: '#/components/schemas/Person'
nextOfKinPrimary:
$ref: '#/components/schemas/Person'
nextOfKinSecondary:
$ref: '#/components/schemas/Person'
languages:
type: array
items:
$ref: '#/components/schemas/Language'
militaryService:
$ref: '#/components/schemas/MilitaryService'
healthBenefits:
$ref: '#/components/schemas/HealthBenefits'
socialHistory:
$ref: '#/components/schemas/SocialHistory'
clinicInformation:
$ref: '#/components/schemas/ClinicInformation'
deathInformation:
$ref: '#/components/schemas/DeathInformation'
pharmacyInformation:
$ref: '#/components/schemas/PharmacyInformation'
Provider:
type: object
properties:
name:
type: string
contactDetails:
$ref: '#/components/schemas/Contact'
role:
type: string
status:
type: string
facility:
$ref: '#/components/schemas/Facility'
Person:
type: object
properties:
name:
type: string
relationship:
type: string
contactDetails:
$ref: '#/components/schemas/Contact'
address:
$ref: '#/components/schemas/Address'
PatientCareTeam:
type: object
properties:
name:
type: string
purpose:
type: string
contactDetails:
$ref: '#/components/schemas/Contact'
primaryCareProvider:
$ref: '#/components/schemas/Provider'
mentalHealthTeamCoordinator:
$ref: '#/components/schemas/Provider'
mentalHealthTeamName:
type: string
mentalHealthTeamContactDetails:
$ref: '#/components/schemas/Contact'
facility:
$ref: '#/components/schemas/Facility'
assignedDate:
type: string
format: date-time
teamPositions:
type: array
items:
$ref: '#/components/schemas/Provider'
PatientDisability:
type: object
properties:
ratedDisability:
type: string
disabilityPercentage:
type: number
format: double
isServiceConnected:
type: boolean
PatientEligibility:
type: object
properties:
code:
type: string
status:
type: string
serviceConnected:
type: boolean
serviceConnectedPercentage:
type: number
format: double
rxPatientStatus:
type: string
combatVetEndDate:
type: string
format: date-time
unemployable:
type: string
permanentTotalDisabled:
type: string
currentMeansTestStatus:
type: string
medCopayExemptionStatus:
type: string
Language:
type: object
properties:
languagePref:
type: string
languageDate:
type: string
format: date-time
MilitaryService:
type: object
properties:
serviceInformation:
type: array
items:
$ref: '#/components/schemas/Service'
conflictLocations:
type: array
items:
$ref: '#/components/schemas/ServiceLocation'
environmentalExposures:
type: array
items:
$ref: '#/components/schemas/EnvironmentalExposure'
powInformation:
$ref: '#/components/schemas/ServiceLocation'
combatInformation:
$ref: '#/components/schemas/ServiceLocation'
disabilityRetirement:
type: string
disabilityDischarge:
type: string
dentalInjury:
type: string
dentalExtraction:
type: string
purpleHeartIndicator:
type: string
purpleHeartStatus:
type: string
Service:
type: object
properties:
branch:
type: string
component:
type: string
number:
type: string
entryDate:
type: string
format: date-time
separationDate:
type: string
format: date-time
dischargeType:
type: string
ServiceLocation:
type: object
properties:
location:
type: string
serviceIndicated:
type: boolean
fromDate:
type: string
format: date-time
toDate:
type: string
format: date-time
EnvironmentalExposure:
type: object
properties:
typeOfExposure:
type: string
exposureIndicated:
type: boolean
exposureMethod:
type: string
registrationDate:
type: string
format: date-time
examDate:
type: string
format: date-time
screeningStatus:
type: string
HealthBenefits:
type: object
properties:
plans:
type: array
items:
type: string
insurance:
type: array
items:
$ref: '#/components/schemas/HealthInsurance'
HealthInsurance:
type: object
properties:
insuranceType:
type: string
subscriberId:
type: string
groupNumber:
type: string
holder:
type: string
effectiveDate:
type: string
format: date-time
expiryDate:
type: string
format: date-time
SocialHistory:
type: object
properties:
maritalStatus:
type: string
religion:
type: string
race:
type: string
raceSource:
type: string
ethnicity:
type: string
ethnicitySource:
type: string
ClinicInformation:
type: object
properties:
clinicsEnrolledIn:
type: array
items:
type: string
futureAppointments:
type: array
items:
$ref: '#/components/schemas/Appointment'
DeathInformation:
type: object
properties:
source:
type: string
updatedDate:
type: string
format: date-time
lastEditedBy:
type: string
PharmacyInformation:
type: object
properties:
cnhCurrent:
type: string
feeHospitalId:
type: string
capInformation:
type: string
mailInformation:
type: string
mailStatusExpDate:
type: string
format: date-time
dialysisPatient:
type: string
nursingHome:
type: string
nursingHomeContract:
type: string
lastDateOfContract:
type: string
format: date-time
respiteStartDate:
type: string
format: date-time
respiteEndDate:
type: string
format: date-time
otherLanguagePref:
type: string
pmiLanguagePref:
type: string
remarks:
type: string
opNarrative:
type: string
ipNarrative:
type: string
Address:
type: object
properties:
street:
type: string
streetLine2:
type: string
streetLine3:
type: string
city:
type: string
state:
type: string
zip:
type: string
county:
type: string
country:
type: string
PermanentAddress:
type: object
properties:
address:
$ref: '#/components/schemas/Address'
badAddressIndicator:
type: string
TemporaryAddress:
type: object
properties:
address:
$ref: '#/components/schemas/Address'
active:
type: boolean
fromDate:
type: string
format: date-time
toDate:
type: string
format: date-time
ConfidentialAddress:
type: object
properties:
address:
$ref: '#/components/schemas/Address'
active:
type: boolean
fromDate:
type: string
format: date-time
toDate:
type: string
format: date-time
confidentialAddressCategories:
type: array
items:
type: string
activeConfidentialCategory:
type: string
Contact:
type: object
properties:
phone:
type: string
pager:
type: string
fax:
type: string
email:
type: string
mobile:
type: string
home:
type: string
temporary:
type: string
confidential:
type: string
other:
type: string
Allergy:
type: object
properties:
patientId:
type: string
facility:
$ref: '#/components/schemas/Facility'
verified:
type: string
verifierSig:
$ref: '#/components/schemas/Signature'
gmrAllergy:
type: string
gmrAllergySource:
type: string
causativeAgent:
type: string
category:
type: string
status:
type: string
description: 'active | unconfirmed | confirmed | inactive | resolved | refuted | entered-in-error'
ingredients:
type: array
items:
type: string
drugClass:
type: array
items:
type: string
observedHistorical:
type: string
comments:
type: array
items:
$ref: '#/components/schemas/Comment'
originatorSig:
$ref: '#/components/schemas/Signature'
allergyAssessment:
type: string
reactions:
type: array
items:
$ref: '#/components/schemas/AllergyReaction'
AllergyReaction:
type: object
properties:
substance:
type: string
manifestation:
type: array
items:
type: string
description:
type: string
onset:
type: string
format: date-time
severity:
$ref: '#/components/schemas/AllergyReactionSeverity'
mechanism:
type: string
note:
type: string
certainty:
type: string
verifiedTime:
type: string
format: date-time
AllergyReactionSeverity:
type: object
description: '0: NO SEVERITY FOUND, 25:MILD, 50: MODERATE, 75: SEVERE, 100: LIFE THREATENING'
properties:
key:
type: string
value:
type: integer
Lab:
type: object
properties:
patientID:
type: string
name:
type: string
unitValue:
type: string
flag:
type: string
range:
type: string
timeTaken:
type: string
format: date-time
Measurement:
type: object
properties:
patientId:
type: string
name:
type: string
imperial:
$ref: '#/components/schemas/ValueQuantity'
metric:
$ref: '#/components/schemas/ValueQuantity'
flag:
type: string
range:
type: string
timeTaken:
type: string
format: date-time
entered:
type: string
format: date-time
facility:
$ref: '#/components/schemas/Facility'
hospitalLocation:
type: string
enteredBy:
type: string
rate:
type: string
qualifier:
type: string
supplementalOxygen:
type: string
ProgressNote:
type: object
properties:
patientId:
type: string
docType:
type: string
author:
type: string
facility:
$ref: '#/components/schemas/Facility'
hospitalLocation:
type: string
localTitle:
type: string
standardTitle:
type: string
noteDate:
type: string
format: date-time
entryDate:
type: string
format: date-time
urgency:
type: string
status:
type: string
expSigner:
type: string
expCosigner:
type: string
reportText:
type: string
signature:
$ref: '#/components/schemas/Signature'
cosignature:
$ref: '#/components/schemas/Signature'
amendmentSignature:
$ref: '#/components/schemas/Signature'
addendums:
type: array
items:
$ref: '#/components/schemas/ProgressNote'
Consult:
type: object
properties:
patientId:
type: string
toService:
type: string
fromService:
type: string
attention:
type: string
requestDate:
type: string
format: date-time
requestingProvider:
$ref: '#/components/schemas/Provider'
encounterType:
type: string
encounterStartDateTime:
type: string
format: date-time
encounterEndDateTime:
type: string
format: date-time
placeOfConsultation:
type: string
urgency:
type: string
clinicallyIndicatedDate:
type: string
format: date-time
procedureConsult:
type: string
patientLocation:
type: string
facility:
$ref: '#/components/schemas/Facility'
clinicalProcedure:
type: string
orderableItem:
type: string
provisionalDiagnosis:
type: string
provisionalDiagnosisCode:
type: string
provisionalDiagnosisDate:
type: string
format: date-time
provisionalDiagnosisSystem:
type: string
requestReason:
type: string
status:
type: string
lastAction:
type: string
significantFindings:
type: string
reportText:
type: string
activity:
type: string
activityDateTime:
type: string
format: date-time
personResponsibleForActivity:
$ref: '#/components/schemas/Provider'
activityEnteredBy:
type: string
roomAndBed:
type: string
wardLocation:
type: string
Immunization:
type: object
properties:
patientId:
type: string
name:
type: string
fullName:
type: string
vaccineInfoStatement:
type: array
items:
$ref: '#/components/schemas/ImmunizationStatement'
administered:
type: string
format: date-time
dose:
$ref: '#/components/schemas/ValueQuantity'
series:
type: integer
maxInSeries:
type: integer
adminRoute:
type: string
adminBodySite:
type: string
reaction:
type: string
contraindicated:
type: string
manufacturer:
type: string
lotNumber:
type: string
expirationDate:
type: string
format: date-time
ndc:
type: string
location:
type: string
facility:
$ref: '#/components/schemas/Facility'
administeredBy:
type: string
orderedBy:
type: string
comments:
type: string
ImmunizationStatement:
type: object
properties:
visName:
type: string
editionDate:
type: string
format: date-time
editionLang:
type: string
Problem:
type: object
properties:
patientId:
type: string
diagnosis:
type: string
diagnosisCode:
type: string
codingSystem:
type: string
category:
type: string
onsetDate:
type: string
format: date-time
status:
type: string
verified:
type: string
immediacy:
type: string
description:
type: string
condition:
type: string
serviceConnected:
type: boolean
exposures:
type: array
items:
type: string
service:
type: string
clinic:
type: string
provider:
type: string
enteredBy:
type: string
entryDate:
type: string
format: date-time
recordedBy:
type: string
recordedDate:
type: string
format: date-time
lastUpdatedDate:
type: string
format: date-time
comments:
type: array
items:
$ref: '#/components/schemas/Comment'
facility:
$ref: '#/components/schemas/Facility'
auditHistory:
type: array
items:
$ref: '#/components/schemas/AuditHistory'
AuditHistory:
type: object
properties:
fieldChanged:
type: string
oldValue:
type: string
newValue:
type: string
modifiedBy:
type: string
modifiedDate:
type: string
format: date-time
Appointment:
type: object
properties:
patientId:
type: string
appointmentId:
type: string
appointmentDate:
type: string
format: date-time
status:
type: string
provider:
type: string
location:
$ref: '#/components/schemas/Location'
Comment:
type: object
properties:
text:
type: string
classification:
type: string
signature:
$ref: '#/components/schemas/Signature'
Signature:
type: object
properties:
signator:
type: string
blockName:
type: string
blockTitle:
type: string
signDate:
type: string
format: date-time
Location:
type: object
properties:
name:
type: string
specialty:
type: string
physicalType:
type: string
facility:
$ref: '#/components/schemas/Facility'
Facility:
type: object
properties:
siteName:
type: string
name:
type: string
stationNumber:
type: string
location:
$ref: '#/components/schemas/Address'
ValueQuantity:
type: object
properties:
value:
type: string
unit:
type: string
BuildInformation:
type: object
properties:
name:
type: string
description: Name of the API
buildVersion:
type: string
description: API Version of this instance
profile:
type: string
description: Build profile used for this instance