CH UMZH Connect IG (R4)
1.0.0-cibuild - ci-build
CH UMZH Connect IG (R4), published by UMZH. This guide is not an authorized publication; it is the continuous build for version 1.0.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/umzhconnect/umzhconnect-ig/ and changes regularly. See the Directory of published versions
The CoordinationTask lifecycle is governed by two complementary fields:
Task.status — the FHIR base state machine (Task state machine); reflects the overall lifecycle of the taskTask.businessStatus — a domain-specific qualifier that sits alongside Task.status to convey sub-states meaningful to the workflow; codes are drawn from COW business status codesThis IG follows the COW Workflow State Overview with the constraints documented below. Note that COW's received state is intentionally omitted in this version of the IG: a Task transitions directly from requested to accepted or in-progress.
Rules:
Task.status — it is not patchable by the Placer (see Workflow oriented API design)Task.owner references the Placer organizationowner, businessStatus, input, and focusTask.businessStatus must only contain domain-specific workflow codes; Task.status codes must never be used as businessStatus valuesrejected (Fulfiller declines before starting) and failed (accepted but not completed) rather than COW's cancelled + statusReason; COW's cancelled ("not selected") pattern assumes a multi-Fulfiller selection flow that is out of scope herestateDiagram-v2
direction LR
[*] --> requested : Placer POSTs Task to Fulfiller
requested --> in_progress : Fulfiller accepts & starts
requested --> accepted : Fulfiller explicitly accepts\n(request-with-acceptance pattern)
requested --> rejected : Fulfiller declines
accepted --> in_progress : Fulfiller starts work
state "in-progress\n[awaiting-information]" as awaiting
in_progress --> awaiting : Fulfiller needs more info\n(owner → Placer)
awaiting --> in_progress : Placer provides info\n(owner → Fulfiller)
in_progress --> completed : Fulfiller completes
in_progress --> failed : Fulfiller unable to complete
completed --> [*]
rejected --> [*]
failed --> [*]
| State label | Task.status |
Task.businessStatus |
Task.owner |
Who sets this | Notes |
|---|---|---|---|---|---|
| Requested | requested |
— | Fulfiller org | Placer | Initial state when Task is POSTed to Fulfiller |
| Accepted | accepted |
— | Fulfiller org | Fulfiller | Explicit acceptance; may be skipped in pre-agreed flows |
| In progress | in-progress |
— | Fulfiller org | Fulfiller | Fulfiller has started work |
| Awaiting information | in-progress |
awaiting-information |
Placer org | Fulfiller | Fulfiller has added Questionnaire to Task.output; owner shifted to Placer |
| Information received | in-progress |
— | Fulfiller org | Placer | Placer has PATCHed Task with QuestionnaireResponse in Task.input, cleared businessStatus, and shifted owner back to Fulfiller |
| Completed | completed |
— | Fulfiller org | Fulfiller | Results referenced in Task.output |
| Rejected | rejected |
— | — | Fulfiller | Fulfiller declines; Placer may approach another Fulfiller |
| Failed | failed |
— | — | Fulfiller | Fulfiller accepted but could not complete |