Aller au contenu principal

WP-07 Flutter spec

The API is in place and the store shell does not open this screen. Contract types: DiagnosticKind, DiagnosticOrder, DiagnosticResult. Wire: exchange/diagnostics.md.

Usage​

The imaging and lab shells call the same DiagnosticsRepository with kind. Create order, load worklist, submit result. A patient session must not call submit.

Domain​

  • DiagnosticKind at lib/domain/diagnostics/diagnostic_kind.dart.
  • DiagnosticOrder at lib/domain/diagnostics/diagnostic_order.dart.
  • DiagnosticResult at lib/domain/diagnostics/diagnostic_result.dart.

Models​

  • DiagnosticOrderModel at lib/data/diagnostics/diagnostic_order_model.dart.
  • DiagnosticResultModel at lib/data/diagnostics/diagnostic_result_model.dart.

fromJson keys match the exchange payload and the contract fields.

Data sources​

  • DiagnosticsRemoteDataSource at lib/data/diagnostics/diagnostics_remote_data_source.dart.
createOrder(patientId, kind, encounterId?) -> DiagnosticOrder
worklist(kind) -> DiagnosticOrder[]
submitResult(orderId, summary, artifactUri?) -> DiagnosticResult

Uses ApiConfig orders and worklists paths.

Repositories​

  • DiagnosticsRepository at lib/domain/diagnostics/diagnostics_repository.dart.

Presentation under lib/presentation/diagnostics/ imports the repository. One worklist UI with a kind filter is enough until WP-10.

Does not do​

Java types. Patient results persistence. Two clients for imaging and lab. Invented PACS viewers. A second HTTP client.