clqms-be/public/paths/results.yaml

302 lines
9.2 KiB
YAML

/api/result:
get:
tags: [Result]
summary: List results
description: Retrieve patient test results with optional filters by order or patient
security:
- bearerAuth: []
parameters:
- name: order_id
in: query
schema:
type: integer
description: Filter by internal order ID
- name: patient_id
in: query
schema:
type: integer
description: Filter by internal patient ID (returns cumulative results)
- name: page
in: query
schema:
type: integer
default: 1
description: Page number for pagination
- name: per_page
in: query
schema:
type: integer
default: 20
description: Number of results per page
responses:
'200':
description: List of results
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: success
message:
type: string
data:
type: array
items:
type: object
properties:
ResultID:
type: integer
OrderID:
type: integer
TestSiteID:
type: integer
TestSiteCode:
type: string
Result:
type: string
nullable: true
ResultDateTime:
type: string
format: date-time
RefNumID:
type: integer
nullable: true
RefTxtID:
type: integer
nullable: true
CreateDate:
type: string
format: date-time
TestSiteName:
type: string
nullable: true
Unit1:
type: string
nullable: true
Unit2:
type: string
nullable: true
Low:
type: number
nullable: true
High:
type: number
nullable: true
LowSign:
type: string
nullable: true
HighSign:
type: string
nullable: true
RefDisplay:
type: string
nullable: true
/api/result/{id}:
get:
tags: [Result]
summary: Get result by ID
description: Retrieve a specific result entry with all related data
security:
- bearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: Result ID
responses:
'200':
description: Result details
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: success
message:
type: string
data:
type: object
properties:
ResultID:
type: integer
SiteID:
type: integer
OrderID:
type: integer
InternalSID:
type: integer
SID:
type: string
SampleID:
type: string
TestSiteID:
type: integer
TestSiteCode:
type: string
AspCnt:
type: integer
Result:
type: string
nullable: true
SampleType:
type: string
nullable: true
ResultDateTime:
type: string
format: date-time
WorkstationID:
type: integer
nullable: true
EquipmentID:
type: integer
nullable: true
RefNumID:
type: integer
nullable: true
RefTxtID:
type: integer
nullable: true
CreateDate:
type: string
format: date-time
TestSiteName:
type: string
nullable: true
Unit1:
type: string
nullable: true
Unit2:
type: string
nullable: true
Low:
type: number
nullable: true
High:
type: number
nullable: true
LowSign:
type: string
nullable: true
HighSign:
type: string
nullable: true
RefDisplay:
type: string
nullable: true
OrderNumber:
type: string
nullable: true
InternalPID:
type: integer
'404':
description: Result not found
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/ErrorResponse'
patch:
tags: [Result]
summary: Update result
description: Update a result value with automatic validation against reference ranges. Returns calculated flag (L/H) in response but does not store it.
security:
- bearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: Result ID
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
Result:
type: string
description: The result value
RefNumID:
type: integer
description: Reference range ID to validate against
SampleType:
type: string
nullable: true
WorkstationID:
type: integer
nullable: true
EquipmentID:
type: integer
nullable: true
responses:
'200':
description: Result updated successfully
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: success
message:
type: string
data:
type: object
properties:
result:
type: object
flag:
type: string
nullable: true
enum: [L, H]
description: Calculated flag - L for Low, H for High, null for normal
'400':
description: Validation failed
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/ErrorResponse'
'404':
description: Result not found
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/ErrorResponse'
delete:
tags: [Result]
summary: Delete result
description: Soft delete a result entry by setting DelDate
security:
- bearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: Result ID
responses:
'200':
description: Result deleted successfully
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/SuccessResponse'
'404':
description: Result not found
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/ErrorResponse'