63 -> std::optional<worklist_status> {
64 if (str ==
"SCHEDULED") {
67 if (str ==
"STARTED") {
70 if (str ==
"COMPLETED") {
172 [[nodiscard]]
auto is_valid() const noexcept ->
bool {
@ completed
Procedure completed successfully.
worklist_status
Worklist step status values.
@ started
Procedure has been started (MPPS received)
@ scheduled
Procedure is scheduled (default)
@ completed
Procedure has been completed.
@ scheduled
Workitem is scheduled (initial state)
auto parse_worklist_status(std::string_view str) -> std::optional< worklist_status >
Parse string to worklist_status enum.
auto to_string(annotation_type type) -> std::string
Convert annotation_type to string.
Worklist item record from the database.
std::string referring_phys_id
Referring Physician ID.
std::string study_uid
Study Instance UID (pre-assigned for the procedure)
std::string procedure_desc
Scheduled Procedure Step Description.
std::string patient_id
Patient ID (required)
std::string birth_date
Patient's Birth Date (YYYYMMDD format)
std::string station_name
Scheduled Station Name.
auto is_scheduled() const noexcept -> bool
Check if this item is available for MWL query.
std::string scheduled_datetime
Scheduled Procedure Step Start Date/Time (YYYYMMDDHHMMSS format)
std::string step_id
Scheduled Procedure Step ID (required)
std::string sex
Patient's Sex (M, F, O)
std::string modality
Modality (CT, MR, etc.) (required)
int64_t pk
Primary key (auto-generated)
std::chrono::system_clock::time_point created_at
Record creation timestamp.
std::string protocol_code
Protocol Code Sequence (JSON serialized)
std::string requested_proc_id
Requested Procedure ID.
std::string patient_name
Patient's Name in DICOM PN format.
std::string accession_no
Accession Number.
std::string step_status
Current status of the procedure step.
std::string station_ae
Scheduled Station AE Title.
auto get_status() const -> std::optional< worklist_status >
Get the status as enum.
std::chrono::system_clock::time_point updated_at
Record last update timestamp.
auto is_valid() const noexcept -> bool
Check if this record has valid data.
std::string referring_phys
Referring Physician's Name.
std::optional< std::string > step_id
Step ID filter (exact match)
std::optional< std::string > modality
Modality filter (exact match)
std::optional< std::string > patient_name
Patient Name filter (supports wildcards with '*')
std::optional< std::string > scheduled_date_from
Scheduled date range begin (inclusive, format: YYYYMMDD)
std::optional< std::string > patient_id
Patient ID filter (supports wildcards with '*')
std::optional< std::string > scheduled_date_to
Scheduled date range end (inclusive, format: YYYYMMDD)
bool include_all_status
Include non-SCHEDULED items (default: false, only SCHEDULED)
size_t offset
Offset for pagination.
std::optional< std::string > accession_no
Accession Number filter (exact match)
auto has_criteria() const noexcept -> bool
Check if any filter criteria is set.
size_t limit
Maximum number of results to return (0 = unlimited)
std::optional< std::string > station_ae
Scheduled Station AE Title filter (exact match)