Bỏ qua

User Story: Khởi động matching cho một batch metadata

1. Description

Là Manager, tôi muốn chọn batch metadata theo đơn vị và khởi động quá trình matching tự động với Anchored Data, để hệ thống đối chiếu các field đã trích xuất với Data Element chuẩn và xây dựng bản đồ hiện trạng.

2. Acceptance Criteria

2.1 Happy Path

  • GIVEN Manager đã đăng nhập hệ thống, đơn vị đã có metadata được parse thành công (parse_status = COMPLETED) với các field ở trạng thái matching_status = PENDING, và Anchored Data (Domain, Sub Domain, Data Element) đã có sẵn trong hệ thống
  • WHEN Manager chọn batch metadata theo đơn vị và nhấn nút "Khởi động matching"
  • THEN hệ thống gửi yêu cầu matching tới Matching Microservice (INT-003) bao gồm: danh sách fields, context (tên bảng, kiểu dữ liệu, thông tin đơn vị) và Anchored Data

  • GIVEN hệ thống đã gửi yêu cầu matching tới Matching Microservice

  • WHEN Matching Microservice bắt đầu xử lý
  • THEN quá trình matching chạy ở chế độ background job, không block giao diện người dùng, hiển thị trạng thái "Đang xử lý matching" cho Manager

  • GIVEN quá trình matching hoàn tất thành công

  • WHEN hệ thống nhận kết quả từ Matching Microservice
  • THEN hệ thống lưu kết quả matching vào entity Matching Result, cập nhật matching_status của các Extracted Field (PENDING cho tất cả (giai đoạn này không auto-accept — Manager review tất cả)), và thông báo cho Manager

2.2 Alternative Paths

  • GIVEN một số field trong batch đã ở trạng thái MATCHED từ lần matching trước
  • WHEN Manager khởi động matching cho batch
  • THEN hệ thống chỉ gửi các field có matching_status = PENDING tới Matching Microservice, bỏ qua field đã MATCHED

  • GIVEN Manager muốn matching lại cho toàn bộ field của đơn vị (bao gồm cả field đã UNMATCHED hoặc REJECTED)

  • WHEN Manager chọn tùy chọn "Matching lại toàn bộ"
  • THEN hệ thống gửi tất cả field có matching_status khác MATCHED tới Matching Microservice

2.3 Error Cases

  • GIVEN metadata chưa được parse thành công (parse_status khác COMPLETED)
  • WHEN Manager cố gắng khởi động matching
  • THEN hệ thống từ chối và hiển thị thông báo "Metadata chưa được parse thành công. Vui lòng kiểm tra lại trạng thái parse"

  • GIVEN Anchored Data chưa được thiết lập (không có Domain, Sub Domain, Data Element)

  • WHEN Manager cố gắng khởi động matching
  • THEN hệ thống từ chối và hiển thị thông báo "Chưa có Anchored Data trong hệ thống. Vui lòng thiết lập khung dữ liệu định vị trước"

  • GIVEN Matching Microservice không khả dụng

  • WHEN Manager khởi động matching
  • THEN hệ thống hiển thị thông báo "Dịch vụ matching tạm thời không khả dụng. Vui lòng thử lại sau", các chức năng khác của hệ thống vẫn hoạt động bình thường

  • GIVEN quá trình matching đang chạy cho đơn vị này

  • WHEN Manager cố gắng khởi động matching lần nữa cho cùng đơn vị
  • THEN hệ thống từ chối và hiển thị thông báo "Đang có quá trình matching cho đơn vị này. Vui lòng chờ hoàn tất"

3. Business Rules

  • Chỉ Manager có quyền khởi động quá trình matching
  • Metadata phải được parse thành công (parse_status = COMPLETED) trước khi chạy matching
  • Anchored Data (Domain, Sub Domain, Data Element) phải có sẵn trong hệ thống
  • Matching chạy background job, không block giao diện người dùng
  • Hệ thống gọi API Matching Microservice, gửi danh sách fields kèm context và Anchored Data
  • Kết quả matching được phân loại theo confident score:
  • Score >= 0.90: suggested-high (giai đoạn này vẫn cần Manager review — không auto-accept). Tương lai có thể enable auto-match
  • 0.60 <= Score < 0.90: pending-review -- chờ Manager rà soát
  • Score < 0.60: no-match -- ghi nhận, chờ Manager quyết định
  • Khi Matching Microservice không khả dụng: chức năng matching tạm ngưng, các chức năng khác vẫn hoạt động bình thường
  • Khi AI service không khả dụng: graceful degradation -- rule-based matching vẫn chạy, field không xử lý được chuyển sang pending-review

4. Traceability

Feature: Matching Tự động (Rule-based + AI)

Related Use Cases: - UC-MAP-001: Đối chiếu field với Anchored Data (AI matching)

Screens: - SCR-MAP-20: Danh sách gợi ý AI mapping

Business Flows: - BPF-01: Vòng đời Quy hoạch Dữ liệu Thành phố

Business Entities: - Extracted Field - Data Element - Matching Result - Metadata Source

Role Matrix: - RM-001: Manager – Quản trị dữ liệu kỹ thuật

Third-Party Integrations: - INT-003: Matching Microservice (Rule-based + AI)

5. Out of Scope

  • Rà soát và override kết quả matching bởi Manager (thuộc EP-03-005)
  • Xây dựng hoặc huấn luyện AI/ML model
  • Cấu hình giá trị threshold T1, T2 (cần calibrate qua POC)
  • Thiết kế chi tiết nội bộ Matching Microservice (thuộc phạm vi kỹ thuật)