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
DiagnosticKindatlib/domain/diagnostics/diagnostic_kind.dart.DiagnosticOrderatlib/domain/diagnostics/diagnostic_order.dart.DiagnosticResultatlib/domain/diagnostics/diagnostic_result.dart.
Models
DiagnosticOrderModelatlib/data/diagnostics/diagnostic_order_model.dart.DiagnosticResultModelatlib/data/diagnostics/diagnostic_result_model.dart.
fromJson keys match the exchange payload and the contract fields.
Data sources
DiagnosticsRemoteDataSourceatlib/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
DiagnosticsRepositoryatlib/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.