|
| 1 | +## Draft Work Plan for MPD Release |
| 2 | + |
| 3 | +### 1. Issue Cleanup and Triage |
| 4 | + |
| 5 | +The repository has **35 open issues** that need to be categorized and resolved before release: |
| 6 | + |
| 7 | +#### 1.1 Close "preapplied" issues (9 issues - changes already applied) |
| 8 | +These can be verified and closed immediately: |
| 9 | +- #70, #69, #68 (Substitution-related fixes) |
| 10 | +- #67 (Add Comment to Dispense) |
| 11 | +- #66 (Use MedicationDispense, not Dispensation) |
| 12 | +- #64 (item.containedQuantity should be Ratio) |
| 13 | +- #62 (strengthInfo should be 0..1) |
| 14 | +- #46 (Medication model: batch/lot/expiry date) |
| 15 | +- #39 (Ingredient.role vs isActive) — also has "HL7 Discussion" label |
| 16 | + |
| 17 | +**Action:** Verify each is indeed applied in current code, then close with a note. |
| 18 | + |
| 19 | +#### 1.2 Resolve "HL7 Discussion" items (7 issues) |
| 20 | +These require HL7 coordination or decisions: |
| 21 | +- #83 (time of declining dispense) |
| 22 | +- #47 (substitution.type mandatory?) |
| 23 | +- #39 (Ingredient.role vs isActive — also preapplied) |
| 24 | +- #32 (Medication: add medication details — also deferred) |
| 25 | +- #30 (Medication: key+value pairs) |
| 26 | +- #2 (Medication should have a Classification attribute) |
| 27 | +- #1 (Link Medication to definitional resource) |
| 28 | + |
| 29 | +**Action:** Review with HL7 Pharmacy WG; decide which are deferred vs. resolved by FHIR R6 capabilities. |
| 30 | + |
| 31 | +#### 1.3 Decide on "deferred" issues (3 issues) |
| 32 | +- #52 (strengthType - keep or drop) |
| 33 | +- #32 (Medication: add medication details) |
| 34 | +- #1 (Link Medication to definitional resource) |
| 35 | + |
| 36 | +**Action:** Confirm deferral to next version, label with target milestone, close or document in known issues. |
| 37 | + |
| 38 | +#### 1.4 Resolve Public Comment (PC) issues (12 issues, #96–#108) |
| 39 | +Recent public comment feedback that must be addressed: |
| 40 | +- #108 (Is PHARM-5 already defined?) — clarify scope |
| 41 | +- #107 (whenHandedOver 1..1 not good for dispense decline) |
| 42 | +- #106 (Logical models refer to FHIR resources instead of models) |
| 43 | +- #105 (MedicationIngredientRole extension context too broad) |
| 44 | +- #104 (Typo in extension title) |
| 45 | +- #103 (Examples lack descriptions) |
| 46 | +- #102 (Change identifier.system in examples) |
| 47 | +- #101 (PHARM-9 copy-paste error) |
| 48 | +- #100 (PHARM-7 copy-paste error) |
| 49 | +- #99 (PHARM-7 refers to RequestGroup — R4 name) |
| 50 | +- #98 (Clarify PHARM-5) |
| 51 | +- #97 (Inconsistent use of request/order/prescription) |
| 52 | +- #96 (Add non-prescribing health professional as order changer) |
| 53 | + |
| 54 | +**Action:** Work through these systematically — quick fixes (#104, #103, #102, #101, #100, #99) first, then substantive ones. |
| 55 | + |
| 56 | +#### 1.5 Remaining open issues |
| 57 | +- #95 (Alignment with US Medication History IG) — document cross-profile considerations |
| 58 | +- #51 (Actionable tag) — decide and implement or defer |
| 59 | +- #50 (Discourage use of Document) — add narrative guidance |
| 60 | +- #49 (Very complex dosaging) — add guidance or defer |
| 61 | +- #42 (Overall quantity of prescribed medication) |
| 62 | +- #41 (Narrative page for Medication examples) |
| 63 | +- #38 (Add clarifications to transactions) |
| 64 | +- #37 (Add hospital Medication example) |
| 65 | +- #33 (Profiling: Obligations vs Must Support) |
| 66 | +- #31 (Medication: alternative code/identifier) |
| 67 | + |
| 68 | +**Action:** Triage into "must address for release" vs. "defer to next version." |
| 69 | + |
| 70 | +--- |
| 71 | + |
| 72 | +### 2. PHARM-6 Transaction Finalization |
| 73 | + |
| 74 | +PHARM-6 (Submit Prescription Bundle) is already drafted in `input/pagecontent/pharm-6.md` and referenced in `input/pagecontent/actors-transactions.md`. Remaining work: |
| 75 | + |
| 76 | +#### 2.1 Content review |
| 77 | +- Verify alignment with COW IG (Clinical Order Workflows) — the `subscription-notification` Bundle type pattern |
| 78 | +- Confirm the Bundle structure example is valid against FHIR R6 ballot 3 |
| 79 | +- Review the coordination Task and RequestOrchestration patterns for completeness |
| 80 | + |
| 81 | +#### 2.2 Capability statements |
| 82 | +- The Order Placer and Order Receiver capability statements already reference PHARM-6 (confirmed in FSH files). Verify they include the Bundle-level interaction (POST to base endpoint). |
| 83 | + |
| 84 | +#### 2.3 Actor definitions |
| 85 | +- Already updated (staged changes in `orderplacer.fsh`, `orderreceiver.fsh`). Verify PHARM-6 is listed in the actor capability references. |
| 86 | + |
| 87 | +#### 2.4 Examples |
| 88 | +- Add a conformant FHIR example of a PHARM-6 Bundle (currently only a YAML sketch exists in the narrative) |
| 89 | +- Reference the existing `Bundle-200-multiitem-prescription-without-orchestration.json` or create a new one |
| 90 | + |
| 91 | +#### 2.5 Update known issues |
| 92 | +- Remove the note in `input/pagecontent/changes.md` line 10: *"No guidance for a 'prescription Bundle'"* — this is now addressed by PHARM-6 |
| 93 | + |
| 94 | +--- |
| 95 | + |
| 96 | +### 3. Workflow Considerations |
| 97 | + |
| 98 | +#### 3.1 CI/CD workflows |
| 99 | +Currently two GitHub Actions workflows exist: |
| 100 | +- `.github/workflows/fhirbuild.yml` — runs FHIR IG Publisher build |
| 101 | +- `.github/workflows/ghbuild.yml` — publishes to GitHub Pages |
| 102 | + |
| 103 | +Both use the WHO SMART base reusable workflows. Consider: |
| 104 | +- **Add a QA gate:** Run SUSHI compilation + IG Publisher validation as a required check on PRs before merge |
| 105 | +- **Add branch protection** on `master` to prevent direct pushes — all changes via PR |
| 106 | +- **Consider adding a release workflow** that tags a version and publishes a formal release artifact (e.g., `npm pack` of the IG package, or a GitHub Release with the built IG) |
| 107 | + |
| 108 | +#### 3.2 Publication workflow (IHE process) |
| 109 | +- Update `sushi-config.yaml`: bump version from `1.0.0-comment-2`, update `date` and `releaseLabel` as appropriate for the next publication stage (e.g., `trial-implementation` or `public-comment`) |
| 110 | +- Coordinate with IHE publication process — ensure the IG is registered and the canonical URL resolves |
| 111 | +- Verify the continuous build at `build.fhir.org/ig/IHE/pharm-mpd` reflects the latest |
| 112 | + |
| 113 | +#### 3.3 FHIR version consideration |
| 114 | +- Currently targeting `6.0.0-ballot3`. Confirm whether this should stay or move to a released FHIR version |
| 115 | +- The `generate-version: r4` parameter in sushi-config produces R4 cross-version artifacts — verify these are still desired and working |
| 116 | + |
| 117 | +--- |
| 118 | + |
| 119 | +### 4. Content Completion Checklist |
| 120 | + |
| 121 | +Based on the TODOs embedded in `sushi-config.yaml` comments: |
| 122 | + |
| 123 | +| # | Item | Status | Owner hint (from config) | |
| 124 | +|---|------|--------|--------------------------| |
| 125 | +| 4.1 | Simplify Volume 1 overview | Pending | JCT | |
| 126 | +| 4.2 | Glossary — core actor/concept definitions only | Pending | JCT | |
| 127 | +| 4.3 | Use Cases — finish or remove | Low priority | JCT | |
| 128 | +| 4.4 | Medication Concepts — copy/summarize from EU MPD | Pending | MR | |
| 129 | +| 4.5 | Grouping page — finish or merge content | Pending | JCT | |
| 130 | +| 4.6 | Data Models — update and write narrative | Pending | JCT | |
| 131 | +| 4.7 | Actors and Transactions — finalize | Pending | MR | |
| 132 | +| 4.8 | Actor grouping examples — consolidate into Actors page | Pending | MR | |
| 133 | +| 4.9 | Test plan — currently placeholder | Deferred | | |
| 134 | +| 4.10 | Error codes — currently empty | Deferred | | |
| 135 | +| 4.11 | Security considerations — copy from template | Dropped for now | MR | |
| 136 | + |
| 137 | +--- |
| 138 | + |
| 139 | +### 5. Technical Tasks |
| 140 | + |
| 141 | +| # | Task | Priority | |
| 142 | +|---|------|----------| |
| 143 | +| 5.1 | Clean up `input/fsh/temp2.fsh` — test examples for dispense decline/cancel; move to proper examples folder or remove | High | |
| 144 | +| 5.2 | Fix copy-paste errors in PHARM-7 (#100) and PHARM-9 (#101) | High | |
| 145 | +| 5.3 | Fix PHARM-7 reference to RequestGroup → RequestOrchestration (#99) | High | |
| 146 | +| 5.4 | Fix typo in extension title (#104) | Quick fix | |
| 147 | +| 5.5 | Add descriptions to PrescriptionLine examples 1-9 (#103) | Quick fix | |
| 148 | +| 5.6 | Change identifier.system to `https://example.org` in examples (#102) | Quick fix | |
| 149 | +| 5.7 | Address whenHandedOver cardinality for dispense decline (#107) | Medium | |
| 150 | +| 5.8 | Review logical model references to FHIR resources (#106) | Medium | |
| 151 | +| 5.9 | Narrow MedicationIngredientRole extension context (#105) | Medium | |
| 152 | +| 5.10 | Harmonize terminology: request vs. order vs. prescription (#97) | High | |
| 153 | +| 5.11 | Clarify PHARM-5 scope and definition (#98, #108) | High | |
| 154 | + |
| 155 | +--- |
| 156 | + |
| 157 | +### 6. Suggested Release Sequence |
| 158 | + |
| 159 | +1. **Quick fixes** — #99, #100, #101, #102, #103, #104 (typos, copy-paste, example cleanup) |
| 160 | +2. **Close preapplied** — verify and close #39, #46, #62, #64, #66, #67, #68, #69, #70 |
| 161 | +3. **Substantive PC resolution** — #97, #98, #105, #106, #107, #108 |
| 162 | +4. **PHARM-6 finalization** — examples, capability statement verification, remove known-issue note |
| 163 | +5. **Content completion** — narrative pages per section 4 checklist |
| 164 | +6. **Workflow/CI hardening** — add QA checks, branch protection |
| 165 | +7. **Triage remaining** — label deferred issues for next version |
| 166 | +8. **Version bump & publish** — update sushi-config.yaml, build, submit to IHE publication |
0 commit comments