511 lines
15 KiB
YAML
511 lines
15 KiB
YAML
/api/patvisit:
|
|
get:
|
|
tags: [Patient Visit]
|
|
summary: List patient visits
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: InternalPID
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
description: Filter by internal patient ID (exact match)
|
|
- name: PVID
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter by visit ID (partial match)
|
|
- name: PatientID
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter by patient ID (partial match)
|
|
- name: PatientName
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Search by patient name (searches in both first and last name)
|
|
- name: CreateDateFrom
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
description: Filter visits created on or after this date
|
|
- name: CreateDateTo
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
description: Filter visits created on or before this date
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: perPage
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: List of patient visits
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
message:
|
|
type: string
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '../components/schemas/patient-visit.yaml#/PatientVisit'
|
|
total:
|
|
type: integer
|
|
description: Total number of records
|
|
page:
|
|
type: integer
|
|
description: Current page number
|
|
per_page:
|
|
type: integer
|
|
description: Number of records per page
|
|
|
|
post:
|
|
tags: [Patient Visit]
|
|
summary: Create patient visit
|
|
description: |
|
|
Creates a new patient visit. PVID is auto-generated with 'DV' prefix if not provided.
|
|
Can optionally include PatDiag (diagnosis) and PatVisitADT (ADT information).
|
|
security:
|
|
- bearerAuth: []
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- InternalPID
|
|
properties:
|
|
PVID:
|
|
type: string
|
|
description: Visit ID (auto-generated with DV prefix if not provided)
|
|
InternalPID:
|
|
type: integer
|
|
description: Patient ID (required)
|
|
EpisodeID:
|
|
type: string
|
|
description: Episode identifier
|
|
SiteID:
|
|
type: integer
|
|
description: Site reference
|
|
PatDiag:
|
|
type: object
|
|
description: Optional diagnosis information
|
|
properties:
|
|
DiagCode:
|
|
type: string
|
|
Diagnosis:
|
|
type: string
|
|
PatVisitADT:
|
|
type: object
|
|
description: Optional ADT information
|
|
properties:
|
|
ADTCode:
|
|
type: string
|
|
enum: [A01, A02, A03, A04, A08]
|
|
LocationID:
|
|
type: integer
|
|
AttDoc:
|
|
type: integer
|
|
RefDoc:
|
|
type: integer
|
|
AdmDoc:
|
|
type: integer
|
|
CnsDoc:
|
|
type: integer
|
|
responses:
|
|
'201':
|
|
description: Visit created successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
message:
|
|
type: string
|
|
data:
|
|
type: object
|
|
properties:
|
|
PVID:
|
|
type: string
|
|
InternalPVID:
|
|
type: integer
|
|
|
|
|
|
delete:
|
|
tags: [Patient Visit]
|
|
summary: Delete patient visit
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: Visit deleted successfully
|
|
|
|
/api/patvisit/{id}:
|
|
get:
|
|
tags: [Patient Visit]
|
|
summary: Get visit by ID
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: PVID (visit identifier like DV00001)
|
|
responses:
|
|
'200':
|
|
description: Visit details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
message:
|
|
type: string
|
|
data:
|
|
$ref: '../components/schemas/patient-visit.yaml#/PatientVisit'
|
|
|
|
patch:
|
|
tags: [Patient Visit]
|
|
summary: Update patient visit
|
|
description: |
|
|
Updates an existing patient visit. InternalPVID is required.
|
|
Can update main visit data, PatDiag, and add new PatVisitADT records.
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: Internal visit ID (InternalPVID)
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
PVID:
|
|
type: string
|
|
InternalPID:
|
|
type: integer
|
|
EpisodeID:
|
|
type: string
|
|
SiteID:
|
|
type: integer
|
|
PatDiag:
|
|
type: object
|
|
description: Diagnosis information (will update if exists)
|
|
properties:
|
|
DiagCode:
|
|
type: string
|
|
Diagnosis:
|
|
type: string
|
|
PatVisitADT:
|
|
type: array
|
|
description: Array of ADT records to add (new records only)
|
|
items:
|
|
type: object
|
|
properties:
|
|
ADTCode:
|
|
type: string
|
|
enum: [A01, A02, A03, A04, A08]
|
|
LocationID:
|
|
type: integer
|
|
AttDoc:
|
|
type: integer
|
|
RefDoc:
|
|
type: integer
|
|
AdmDoc:
|
|
type: integer
|
|
CnsDoc:
|
|
type: integer
|
|
sequence:
|
|
type: integer
|
|
description: Used for ordering multiple ADT records
|
|
responses:
|
|
'200':
|
|
description: Visit updated successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
message:
|
|
type: string
|
|
data:
|
|
type: object
|
|
properties:
|
|
PVID:
|
|
type: string
|
|
InternalPVID:
|
|
type: integer
|
|
|
|
/api/patvisit/patient/{patientId}:
|
|
get:
|
|
tags: [Patient Visit]
|
|
summary: Get visits by patient ID
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: patientId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: Internal Patient ID (InternalPID)
|
|
responses:
|
|
'200':
|
|
description: Patient visits list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '../components/schemas/patient-visit.yaml#/PatientVisit'
|
|
|
|
/api/patvisitadt:
|
|
post:
|
|
tags: [Patient Visit]
|
|
summary: Create ADT record
|
|
description: Create a new Admission/Discharge/Transfer record
|
|
security:
|
|
- bearerAuth: []
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../components/schemas/patient-visit.yaml#/PatVisitADT'
|
|
responses:
|
|
'201':
|
|
description: ADT record created successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../components/schemas/common.yaml#/SuccessResponse'
|
|
|
|
|
|
|
|
delete:
|
|
tags: [Patient Visit]
|
|
summary: Delete ADT visit (soft delete)
|
|
security:
|
|
- bearerAuth: []
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- PVADTID
|
|
properties:
|
|
PVADTID:
|
|
type: integer
|
|
description: ADT record ID to delete
|
|
responses:
|
|
'200':
|
|
description: ADT visit deleted successfully
|
|
|
|
/api/patvisitadt/visit/{visitId}:
|
|
get:
|
|
tags: [Patient Visit]
|
|
summary: Get ADT history by visit ID
|
|
description: Retrieve the complete Admission/Discharge/Transfer history for a visit, including all locations and doctors
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: visitId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: Internal Visit ID (InternalPVID)
|
|
responses:
|
|
'200':
|
|
description: ADT history retrieved successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
example: success
|
|
message:
|
|
type: string
|
|
example: ADT history retrieved
|
|
data:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
PVADTID:
|
|
type: integer
|
|
InternalPVID:
|
|
type: integer
|
|
ADTCode:
|
|
type: string
|
|
enum: [A01, A02, A03, A04, A08]
|
|
LocationID:
|
|
type: integer
|
|
LocationName:
|
|
type: string
|
|
AttDoc:
|
|
type: integer
|
|
AttDocFirstName:
|
|
type: string
|
|
AttDocLastName:
|
|
type: string
|
|
RefDoc:
|
|
type: integer
|
|
RefDocFirstName:
|
|
type: string
|
|
RefDocLastName:
|
|
type: string
|
|
AdmDoc:
|
|
type: integer
|
|
AdmDocFirstName:
|
|
type: string
|
|
AdmDocLastName:
|
|
type: string
|
|
CnsDoc:
|
|
type: integer
|
|
CnsDocFirstName:
|
|
type: string
|
|
CnsDocLastName:
|
|
type: string
|
|
CreateDate:
|
|
type: string
|
|
format: date-time
|
|
EndDate:
|
|
type: string
|
|
format: date-time
|
|
/api/patvisitadt/{id}:
|
|
get:
|
|
tags: [Patient Visit]
|
|
summary: Get ADT record by ID
|
|
description: Retrieve a single ADT record by its ID, including location and doctor details
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: ADT record ID (PVADTID)
|
|
responses:
|
|
'200':
|
|
description: ADT record retrieved successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
example: success
|
|
message:
|
|
type: string
|
|
example: ADT record retrieved
|
|
data:
|
|
type: object
|
|
properties:
|
|
PVADTID:
|
|
type: integer
|
|
InternalPVID:
|
|
type: integer
|
|
ADTCode:
|
|
type: string
|
|
enum: [A01, A02, A03, A04, A08]
|
|
LocationID:
|
|
type: integer
|
|
LocationName:
|
|
type: string
|
|
AttDoc:
|
|
type: integer
|
|
AttDocFirstName:
|
|
type: string
|
|
AttDocLastName:
|
|
type: string
|
|
RefDoc:
|
|
type: integer
|
|
RefDocFirstName:
|
|
type: string
|
|
RefDocLastName:
|
|
type: string
|
|
AdmDoc:
|
|
type: integer
|
|
AdmDocFirstName:
|
|
type: string
|
|
AdmDocLastName:
|
|
type: string
|
|
CnsDoc:
|
|
type: integer
|
|
CnsDocFirstName:
|
|
type: string
|
|
CnsDocLastName:
|
|
type: string
|
|
CreateDate:
|
|
type: string
|
|
format: date-time
|
|
EndDate:
|
|
type: string
|
|
format: date-time
|
|
|
|
patch:
|
|
tags: [Patient Visit]
|
|
summary: Update ADT record
|
|
description: Update an existing ADT record
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: ADT record ID (PVADTID)
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../components/schemas/patient-visit.yaml#/PatVisitADT'
|
|
responses:
|
|
'200':
|
|
description: ADT record updated successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../components/schemas/common.yaml#/SuccessResponse'
|