aw-spec-cli 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/assets/.agents/agent.json +28 -0
  2. package/assets/.agents/skills/appweaver/SKILL.md +56 -0
  3. package/assets/.agents/skills/appweaver-demo/SKILL.md +59 -0
  4. package/assets/.claude/agent.json +27 -0
  5. package/assets/.claude/skills/appweaver/SKILL.md +55 -0
  6. package/assets/.claude/skills/appweaver-demo/SKILL.md +59 -0
  7. package/assets/.kilocode/agent.json +28 -0
  8. package/assets/.kilocode/workflows/appweaver-demo.md +59 -0
  9. package/assets/.kilocode/workflows/appweaver.md +55 -0
  10. package/dist/commands/init.d.ts.map +1 -1
  11. package/dist/commands/init.js +7 -54
  12. package/dist/commands/init.js.map +1 -1
  13. package/dist/index.js +0 -2
  14. package/dist/index.js.map +1 -1
  15. package/package.json +1 -1
  16. package/assets/.agents/skills/aw-spec-addcomponent/SKILL.md +0 -129
  17. package/assets/.agents/skills/aw-spec-agent-context-update/SKILL.md +0 -31
  18. package/assets/.agents/skills/aw-spec-analyze/SKILL.md +0 -296
  19. package/assets/.agents/skills/aw-spec-checklist/SKILL.md +0 -374
  20. package/assets/.agents/skills/aw-spec-clarify/SKILL.md +0 -320
  21. package/assets/.agents/skills/aw-spec-constitution/SKILL.md +0 -194
  22. package/assets/.agents/skills/aw-spec-fast-implement/SKILL.md +0 -268
  23. package/assets/.agents/skills/aw-spec-foundation/SKILL.md +0 -358
  24. package/assets/.agents/skills/aw-spec-implement/SKILL.md +0 -279
  25. package/assets/.agents/skills/aw-spec-minimal-implementation/SKILL.md +0 -209
  26. package/assets/.agents/skills/aw-spec-plan/SKILL.md +0 -221
  27. package/assets/.agents/skills/aw-spec-select-domain/SKILL.md +0 -73
  28. package/assets/.agents/skills/aw-spec-specify/SKILL.md +0 -382
  29. package/assets/.agents/skills/aw-spec-tasks/SKILL.md +0 -259
  30. package/assets/.agents/skills/aw-spec-taskstoissues/SKILL.md +0 -107
  31. package/assets/.aw-spec/domain.json +0 -3
  32. package/assets/.aw-spec/extensions/.registry +0 -19
  33. package/assets/.aw-spec/extensions/agent-context/README.md +0 -57
  34. package/assets/.aw-spec/extensions/agent-context/agent-context-config.yml +0 -4
  35. package/assets/.aw-spec/extensions/agent-context/commands/aw-spec.agent-context.update.md +0 -26
  36. package/assets/.aw-spec/extensions/agent-context/extension.yml +0 -34
  37. package/assets/.aw-spec/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -201
  38. package/assets/.aw-spec/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -237
  39. package/assets/.aw-spec/extensions.yml +0 -23
  40. package/assets/.aw-spec/feature.json +0 -3
  41. package/assets/.aw-spec/init-options.json +0 -9
  42. package/assets/.aw-spec/integration.json +0 -15
  43. package/assets/.aw-spec/integrations/aw-spec.manifest.json +0 -17
  44. package/assets/.aw-spec/integrations/claude.manifest.json +0 -17
  45. package/assets/.aw-spec/memory/constitution.md +0 -50
  46. package/assets/.aw-spec/scripts/bash/check-prerequisites.sh +0 -189
  47. package/assets/.aw-spec/scripts/bash/common.sh +0 -582
  48. package/assets/.aw-spec/scripts/bash/create-new-feature.sh +0 -299
  49. package/assets/.aw-spec/scripts/bash/setup-plan.sh +0 -84
  50. package/assets/.aw-spec/scripts/bash/setup-tasks.sh +0 -91
  51. package/assets/.aw-spec/templates/checklist-template.md +0 -40
  52. package/assets/.aw-spec/templates/constitution-template.md +0 -57
  53. package/assets/.aw-spec/templates/plan-template.md +0 -113
  54. package/assets/.aw-spec/templates/spec-template.md +0 -131
  55. package/assets/.aw-spec/templates/tasks-template.md +0 -252
  56. package/assets/.aw-spec/workflows/aw-spec/workflow.yml +0 -77
  57. package/assets/.aw-spec/workflows/workflow-registry.json +0 -13
  58. package/assets/.claude/skills/aw-spec-addcomponent/SKILL.md +0 -129
  59. package/assets/.claude/skills/aw-spec-agent-context-update/SKILL.md +0 -31
  60. package/assets/.claude/skills/aw-spec-analyze/SKILL.md +0 -296
  61. package/assets/.claude/skills/aw-spec-checklist/SKILL.md +0 -374
  62. package/assets/.claude/skills/aw-spec-clarify/SKILL.md +0 -320
  63. package/assets/.claude/skills/aw-spec-constitution/SKILL.md +0 -194
  64. package/assets/.claude/skills/aw-spec-fast-implement/SKILL.md +0 -268
  65. package/assets/.claude/skills/aw-spec-foundation/SKILL.md +0 -358
  66. package/assets/.claude/skills/aw-spec-implement/SKILL.md +0 -279
  67. package/assets/.claude/skills/aw-spec-minimal-implementation/SKILL.md +0 -209
  68. package/assets/.claude/skills/aw-spec-plan/SKILL.md +0 -221
  69. package/assets/.claude/skills/aw-spec-select-domain/SKILL.md +0 -73
  70. package/assets/.claude/skills/aw-spec-specify/SKILL.md +0 -382
  71. package/assets/.claude/skills/aw-spec-tasks/SKILL.md +0 -259
  72. package/assets/.claude/skills/aw-spec-taskstoissues/SKILL.md +0 -107
  73. package/assets/.kilocode/rules/specify-rules.md +0 -4
  74. package/assets/.kilocode/workflows/aw-spec-addcomponent.md +0 -129
  75. package/assets/.kilocode/workflows/aw-spec-agent-context.update.md +0 -31
  76. package/assets/.kilocode/workflows/aw-spec-analyze.md +0 -296
  77. package/assets/.kilocode/workflows/aw-spec-checklist.md +0 -374
  78. package/assets/.kilocode/workflows/aw-spec-clarify.md +0 -320
  79. package/assets/.kilocode/workflows/aw-spec-constitution.md +0 -194
  80. package/assets/.kilocode/workflows/aw-spec-fast-implement.md +0 -263
  81. package/assets/.kilocode/workflows/aw-spec-foundation.md +0 -358
  82. package/assets/.kilocode/workflows/aw-spec-implement.md +0 -279
  83. package/assets/.kilocode/workflows/aw-spec-minimal-implementation.md +0 -204
  84. package/assets/.kilocode/workflows/aw-spec-plan.md +0 -221
  85. package/assets/.kilocode/workflows/aw-spec-select-domain.md +0 -73
  86. package/assets/.kilocode/workflows/aw-spec-specify.md +0 -382
  87. package/assets/.kilocode/workflows/aw-spec-tasks.md +0 -259
  88. package/assets/.kilocode/workflows/aw-spec-taskstoissues.md +0 -107
  89. package/assets/docs/ModularMonolith/ModularMonolith.Reference.pack.txt +0 -25248
  90. package/assets/docs/ModularMonolith/ModularMonolith.pack.txt +0 -5726
  91. package/assets/docs/ModularMonolith/pack-foundation.ps1 +0 -145
  92. package/assets/docs/ModularMonolith/pack-foundation.sh +0 -196
  93. package/assets/docs/ModularMonolith/pack-reference-foundation.ps1 +0 -157
  94. package/assets/docs/ModularMonolith/pack-reference-foundation.sh +0 -209
  95. package/assets/docs/ModularMonolith/unpack-foundation.ps1 +0 -126
  96. package/assets/docs/ModularMonolith/unpack-foundation.sh +0 -217
  97. package/assets/docs/ModularMonolith/unpack-reference-foundation.ps1 +0 -129
  98. package/assets/docs/ModularMonolith/unpack-reference-foundation.sh +0 -218
  99. package/assets/docs/README.md +0 -106
  100. package/assets/docs/UI.Visualization/PACKAGING.md +0 -191
  101. package/assets/docs/UI.Visualization/UI.Visualization.Reference.pack.txt +0 -11768
  102. package/assets/docs/UI.Visualization/UI.Visualization.pack.txt +0 -11214
  103. package/assets/docs/UI.Visualization/pack-foundation.ps1 +0 -165
  104. package/assets/docs/UI.Visualization/pack-foundation.sh +0 -206
  105. package/assets/docs/UI.Visualization/pack-reference-foundation.ps1 +0 -159
  106. package/assets/docs/UI.Visualization/pack-reference-foundation.sh +0 -205
  107. package/assets/docs/UI.Visualization/unpack-foundation.ps1 +0 -126
  108. package/assets/docs/UI.Visualization/unpack-foundation.sh +0 -217
  109. package/assets/docs/UI.Visualization/unpack-reference-foundation.ps1 +0 -129
  110. package/assets/docs/UI.Visualization/unpack-reference-foundation.sh +0 -218
  111. package/assets/docs/VerticalSlice/PACKAGING.md +0 -185
  112. package/assets/docs/VerticalSlice/VerticalSlice.Reference.pack.txt +0 -19318
  113. package/assets/docs/VerticalSlice/VerticalSlice.pack.txt +0 -2833
  114. package/assets/docs/VerticalSlice/pack-foundation.ps1 +0 -145
  115. package/assets/docs/VerticalSlice/pack-foundation.sh +0 -196
  116. package/assets/docs/VerticalSlice/pack-reference-foundation.ps1 +0 -157
  117. package/assets/docs/VerticalSlice/pack-reference-foundation.sh +0 -209
  118. package/assets/docs/VerticalSlice/unpack-foundation.ps1 +0 -126
  119. package/assets/docs/VerticalSlice/unpack-foundation.sh +0 -217
  120. package/assets/docs/VerticalSlice/unpack-reference-foundation.ps1 +0 -129
  121. package/assets/docs/VerticalSlice/unpack-reference-foundation.sh +0 -218
  122. package/assets/docs/architecture/clean-architecture.md +0 -71
  123. package/assets/docs/architecture/cqrs.md +0 -141
  124. package/assets/docs/architecture/eventing.md +0 -83
  125. package/assets/docs/architecture/folder-structure.md +0 -61
  126. package/assets/docs/architecture/modular-monolith.md +0 -47
  127. package/assets/docs/architecture/persistence.md +0 -269
  128. package/assets/docs/architecture/testing.md +0 -55
  129. package/assets/docs/architecture/vertical-slices.md +0 -201
  130. package/assets/docs/command.txt +0 -295
  131. package/assets/docs/components/Email/README.md +0 -119
  132. package/assets/docs/components/Email/ReferenceEndpoints/SendEmailEndpoint.cs +0 -84
  133. package/assets/docs/components/Email/integration.md +0 -300
  134. package/assets/docs/components/Jobs/README.md +0 -113
  135. package/assets/docs/components/Jobs/integration.md +0 -259
  136. package/assets/docs/components/QrGenerator/README.md +0 -85
  137. package/assets/docs/components/QrGenerator/ReferenceEndpoints/GenerateQrEndpoint.cs +0 -57
  138. package/assets/docs/components/QrGenerator/integration.md +0 -230
  139. package/assets/docs/components/README.md +0 -74
  140. package/assets/docs/domain/domain-driven-design.md +0 -212
  141. package/assets/docs/domainspecs/UIVisualization/chart-bubble.md +0 -70
  142. package/assets/docs/domainspecs/UIVisualization/chart-dimred.md +0 -58
  143. package/assets/docs/domainspecs/UIVisualization/chart-heatmap.md +0 -62
  144. package/assets/docs/domainspecs/UIVisualization/chart-network.md +0 -69
  145. package/assets/docs/domainspecs/UIVisualization/chart-parallel.md +0 -75
  146. package/assets/docs/domainspecs/UIVisualization/chart-scurve.md +0 -66
  147. package/assets/docs/domainspecs/UIVisualization/chart-survival.md +0 -69
  148. package/assets/docs/domainspecs/UIVisualization/chart-trellis.md +0 -68
  149. package/assets/docs/domainspecs/UIVisualization/chart-violin.md +0 -61
  150. package/assets/docs/domainspecs/UIVisualization/chart-volcano.md +0 -63
  151. package/assets/docs/domainspecs/UIVisualization/charting-standards.domain.md +0 -80
  152. package/assets/docs/domainspecs/UIVisualization/clean-architecture.domain.md +0 -87
  153. package/assets/docs/domainspecs/UIVisualization/coding-standards.domain.md +0 -47
  154. package/assets/docs/domainspecs/UIVisualization/comandrulemap.md +0 -130
  155. package/assets/docs/domainspecs/UIVisualization/component-contracts.domain.md +0 -67
  156. package/assets/docs/domainspecs/UIVisualization/data-source.domain.md +0 -68
  157. package/assets/docs/domainspecs/UIVisualization/domain-requirements.md +0 -110
  158. package/assets/docs/domainspecs/UIVisualization/folder-structure.domain.md +0 -55
  159. package/assets/docs/domainspecs/UIVisualization/state-management.domain.md +0 -67
  160. package/assets/docs/domainspecs/UIVisualization/testing.domain.md +0 -52
  161. package/assets/docs/domainspecs/UIVisualization/ui-viz-terms.md +0 -39
  162. package/assets/docs/domainspecs/healthcare/ai-rules.domain.md +0 -34
  163. package/assets/docs/domainspecs/healthcare/api-versioning.domain.md +0 -17
  164. package/assets/docs/domainspecs/healthcare/auditing.domain.md +0 -29
  165. package/assets/docs/domainspecs/healthcare/authorization.domain.md +0 -26
  166. package/assets/docs/domainspecs/healthcare/clinical-terms.md +0 -20
  167. package/assets/docs/domainspecs/healthcare/coding-standards.domain.md +0 -26
  168. package/assets/docs/domainspecs/healthcare/comandrulemap.md +0 -166
  169. package/assets/docs/domainspecs/healthcare/consent.md +0 -19
  170. package/assets/docs/domainspecs/healthcare/cqrs.domain.md +0 -12
  171. package/assets/docs/domainspecs/healthcare/data-classification.domain.md +0 -28
  172. package/assets/docs/domainspecs/healthcare/dependency-policy.domain.md +0 -11
  173. package/assets/docs/domainspecs/healthcare/dicom.md +0 -15
  174. package/assets/docs/domainspecs/healthcare/domain-driven-design.domain.md +0 -28
  175. package/assets/docs/domainspecs/healthcare/domain-requirements.md +0 -55
  176. package/assets/docs/domainspecs/healthcare/eventing.domain.md +0 -18
  177. package/assets/docs/domainspecs/healthcare/fhir.md +0 -36
  178. package/assets/docs/domainspecs/healthcare/folder-structure.domain.md +0 -23
  179. package/assets/docs/domainspecs/healthcare/hipaa.md +0 -34
  180. package/assets/docs/domainspecs/healthcare/hl7.md +0 -15
  181. package/assets/docs/domainspecs/healthcare/integration-terms.md +0 -21
  182. package/assets/docs/domainspecs/healthcare/persistence.domain.md +0 -20
  183. package/assets/docs/domainspecs/healthcare/terminology.md +0 -30
  184. package/assets/docs/domainspecs/healthcare/testing.domain.md +0 -15
  185. package/assets/docs/domainspecs/healthcare/vertical-slices.domain.md +0 -18
  186. package/assets/docs/domainspecs/healthcare/zero-trust.domain.md +0 -12
  187. package/assets/docs/domainspecs/pharma/ai-rules.domain.md +0 -32
  188. package/assets/docs/domainspecs/pharma/api-versioning.domain.md +0 -20
  189. package/assets/docs/domainspecs/pharma/atc.md +0 -22
  190. package/assets/docs/domainspecs/pharma/auditing.domain.md +0 -26
  191. package/assets/docs/domainspecs/pharma/authorization.domain.md +0 -25
  192. package/assets/docs/domainspecs/pharma/coding-standards.domain.md +0 -28
  193. package/assets/docs/domainspecs/pharma/comandrulemap.md +0 -186
  194. package/assets/docs/domainspecs/pharma/cqrs.domain.md +0 -16
  195. package/assets/docs/domainspecs/pharma/data-classification.domain.md +0 -24
  196. package/assets/docs/domainspecs/pharma/data-provenance.md +0 -21
  197. package/assets/docs/domainspecs/pharma/dependency-policy.domain.md +0 -11
  198. package/assets/docs/domainspecs/pharma/domain-driven-design.domain.md +0 -36
  199. package/assets/docs/domainspecs/pharma/domain-requirements.md +0 -99
  200. package/assets/docs/domainspecs/pharma/eventing.domain.md +0 -18
  201. package/assets/docs/domainspecs/pharma/fhir.md +0 -31
  202. package/assets/docs/domainspecs/pharma/folder-structure.domain.md +0 -24
  203. package/assets/docs/domainspecs/pharma/hl7.md +0 -17
  204. package/assets/docs/domainspecs/pharma/idmp.md +0 -26
  205. package/assets/docs/domainspecs/pharma/integration-terms.md +0 -21
  206. package/assets/docs/domainspecs/pharma/ndc.md +0 -28
  207. package/assets/docs/domainspecs/pharma/persistence.domain.md +0 -23
  208. package/assets/docs/domainspecs/pharma/pharma-terms.md +0 -27
  209. package/assets/docs/domainspecs/pharma/product-lifecycle.domain.md +0 -30
  210. package/assets/docs/domainspecs/pharma/regulatory-compliance.md +0 -19
  211. package/assets/docs/domainspecs/pharma/terminology.md +0 -32
  212. package/assets/docs/domainspecs/pharma/testing.domain.md +0 -19
  213. package/assets/docs/domainspecs/pharma/vertical-slices.domain.md +0 -17
  214. package/assets/docs/domainspecs/pharma/zero-trust.domain.md +0 -12
  215. package/assets/docs/glossary/ai-rules.md +0 -59
  216. package/assets/docs/governance/api-versioning.md +0 -99
  217. package/assets/docs/governance/coding-standards.md +0 -87
  218. package/assets/docs/governance/dependency-policy.md +0 -40
  219. package/assets/docs/interop/ihe-conformance.md +0 -31
  220. package/assets/docs/security/auditing.md +0 -117
  221. package/assets/docs/security/authorization-matrix.md +0 -14
  222. package/assets/docs/security/authorization.md +0 -87
  223. package/assets/docs/security/data-classification.md +0 -38
  224. package/assets/docs/security/zero-trust.md +0 -76
  225. package/assets/docs/technology-constitution.md +0 -172
@@ -1,186 +0,0 @@
1
- # Pharma Domain — Command → Rule-File Map
2
-
3
- Per-AW-Spec-command list of the **pharma domain** rule files in this folder.
4
- Technology standards already auto-load inside each command; the files below are the
5
- domain-specific ones to load **in addition** for a medicinal-product-registration project.
6
-
7
- - All paths are workspace-relative and live in this folder: `docs/domainspecs/pharma/`.
8
- - A skill can read this file and load every path under the matching command heading.
9
- - This file is the **canonical source** for the pharma domain mapping; `/aw-spec-select-domain`
10
- selects this folder as active.
11
-
12
- ---
13
-
14
- ## /aw-spec-constitution
15
- - docs/domainspecs/pharma/domain-requirements.md
16
- - docs/domainspecs/pharma/regulatory-compliance.md
17
- - docs/domainspecs/pharma/ai-rules.domain.md
18
-
19
- ## /aw-spec-specify
20
- - docs/domainspecs/pharma/domain-requirements.md
21
- - docs/domainspecs/pharma/pharma-terms.md
22
- - docs/domainspecs/pharma/integration-terms.md
23
- - docs/domainspecs/pharma/domain-driven-design.domain.md
24
- - docs/domainspecs/pharma/product-lifecycle.domain.md
25
- - docs/domainspecs/pharma/ndc.md
26
- - docs/domainspecs/pharma/idmp.md
27
- - docs/domainspecs/pharma/terminology.md
28
- - docs/domainspecs/pharma/atc.md
29
- - docs/domainspecs/pharma/fhir.md
30
- - docs/domainspecs/pharma/hl7.md
31
- - docs/domainspecs/pharma/regulatory-compliance.md
32
- - docs/domainspecs/pharma/data-provenance.md
33
- - docs/domainspecs/pharma/data-classification.domain.md
34
- - docs/domainspecs/pharma/ai-rules.domain.md
35
-
36
- ## /aw-spec-clarify
37
- - docs/domainspecs/pharma/domain-driven-design.domain.md
38
- - docs/domainspecs/pharma/product-lifecycle.domain.md
39
- - docs/domainspecs/pharma/ndc.md
40
- - docs/domainspecs/pharma/terminology.md
41
- - docs/domainspecs/pharma/atc.md
42
- - docs/domainspecs/pharma/regulatory-compliance.md
43
- - docs/domainspecs/pharma/pharma-terms.md
44
- - docs/domainspecs/pharma/integration-terms.md
45
-
46
- ## /aw-spec-plan
47
- - docs/domainspecs/pharma/folder-structure.domain.md
48
- - docs/domainspecs/pharma/cqrs.domain.md
49
- - docs/domainspecs/pharma/vertical-slices.domain.md
50
- - docs/domainspecs/pharma/persistence.domain.md
51
- - docs/domainspecs/pharma/testing.domain.md
52
- - docs/domainspecs/pharma/eventing.domain.md
53
- - docs/domainspecs/pharma/domain-driven-design.domain.md
54
- - docs/domainspecs/pharma/product-lifecycle.domain.md
55
- - docs/domainspecs/pharma/ndc.md
56
- - docs/domainspecs/pharma/idmp.md
57
- - docs/domainspecs/pharma/fhir.md
58
- - docs/domainspecs/pharma/hl7.md
59
- - docs/domainspecs/pharma/terminology.md
60
- - docs/domainspecs/pharma/atc.md
61
- - docs/domainspecs/pharma/regulatory-compliance.md
62
- - docs/domainspecs/pharma/data-provenance.md
63
- - docs/domainspecs/pharma/zero-trust.domain.md
64
- - docs/domainspecs/pharma/authorization.domain.md
65
- - docs/domainspecs/pharma/auditing.domain.md
66
- - docs/domainspecs/pharma/data-classification.domain.md
67
- - docs/domainspecs/pharma/coding-standards.domain.md
68
- - docs/domainspecs/pharma/dependency-policy.domain.md
69
- - docs/domainspecs/pharma/api-versioning.domain.md
70
- - docs/domainspecs/pharma/ai-rules.domain.md
71
-
72
- ## /aw-spec-tasks
73
- - docs/domainspecs/pharma/folder-structure.domain.md
74
- - docs/domainspecs/pharma/vertical-slices.domain.md
75
- - docs/domainspecs/pharma/cqrs.domain.md
76
- - docs/domainspecs/pharma/persistence.domain.md
77
- - docs/domainspecs/pharma/testing.domain.md
78
- - docs/domainspecs/pharma/eventing.domain.md
79
- - docs/domainspecs/pharma/domain-driven-design.domain.md
80
- - docs/domainspecs/pharma/product-lifecycle.domain.md
81
- - docs/domainspecs/pharma/ndc.md
82
- - docs/domainspecs/pharma/fhir.md
83
- - docs/domainspecs/pharma/hl7.md
84
- - docs/domainspecs/pharma/authorization.domain.md
85
- - docs/domainspecs/pharma/auditing.domain.md
86
- - docs/domainspecs/pharma/coding-standards.domain.md
87
- - docs/domainspecs/pharma/ai-rules.domain.md
88
-
89
- ## /aw-spec-analyze
90
- - docs/domainspecs/pharma/ndc.md
91
- - docs/domainspecs/pharma/terminology.md
92
- - docs/domainspecs/pharma/product-lifecycle.domain.md
93
- - docs/domainspecs/pharma/regulatory-compliance.md
94
- - docs/domainspecs/pharma/auditing.domain.md
95
- - docs/domainspecs/pharma/coding-standards.domain.md
96
- - docs/domainspecs/pharma/ai-rules.domain.md
97
-
98
- ## /aw-spec-implement
99
- - docs/domainspecs/pharma/folder-structure.domain.md
100
- - docs/domainspecs/pharma/vertical-slices.domain.md
101
- - docs/domainspecs/pharma/cqrs.domain.md
102
- - docs/domainspecs/pharma/persistence.domain.md
103
- - docs/domainspecs/pharma/testing.domain.md
104
- - docs/domainspecs/pharma/eventing.domain.md
105
- - docs/domainspecs/pharma/domain-driven-design.domain.md
106
- - docs/domainspecs/pharma/product-lifecycle.domain.md
107
- - docs/domainspecs/pharma/ndc.md
108
- - docs/domainspecs/pharma/idmp.md
109
- - docs/domainspecs/pharma/fhir.md
110
- - docs/domainspecs/pharma/hl7.md
111
- - docs/domainspecs/pharma/terminology.md
112
- - docs/domainspecs/pharma/atc.md
113
- - docs/domainspecs/pharma/regulatory-compliance.md
114
- - docs/domainspecs/pharma/data-provenance.md
115
- - docs/domainspecs/pharma/authorization.domain.md
116
- - docs/domainspecs/pharma/auditing.domain.md
117
- - docs/domainspecs/pharma/data-classification.domain.md
118
- - docs/domainspecs/pharma/zero-trust.domain.md
119
- - docs/domainspecs/pharma/coding-standards.domain.md
120
- - docs/domainspecs/pharma/dependency-policy.domain.md
121
- - docs/domainspecs/pharma/api-versioning.domain.md
122
- - docs/domainspecs/pharma/ai-rules.domain.md
123
-
124
- ## /aw-spec-fast-implement
125
-
126
- > Fast path that collapses plan + tasks + analyze + implement into one pass. This list is the
127
- > **deduplicated union** of those four commands' headings above (here, equal to `/aw-spec-plan`).
128
- > Load it **once** for the whole pass — do not reload per phase.
129
-
130
- - docs/domainspecs/pharma/folder-structure.domain.md
131
- - docs/domainspecs/pharma/cqrs.domain.md
132
- - docs/domainspecs/pharma/vertical-slices.domain.md
133
- - docs/domainspecs/pharma/persistence.domain.md
134
- - docs/domainspecs/pharma/testing.domain.md
135
- - docs/domainspecs/pharma/eventing.domain.md
136
- - docs/domainspecs/pharma/domain-driven-design.domain.md
137
- - docs/domainspecs/pharma/product-lifecycle.domain.md
138
- - docs/domainspecs/pharma/ndc.md
139
- - docs/domainspecs/pharma/idmp.md
140
- - docs/domainspecs/pharma/fhir.md
141
- - docs/domainspecs/pharma/hl7.md
142
- - docs/domainspecs/pharma/terminology.md
143
- - docs/domainspecs/pharma/atc.md
144
- - docs/domainspecs/pharma/regulatory-compliance.md
145
- - docs/domainspecs/pharma/data-provenance.md
146
- - docs/domainspecs/pharma/zero-trust.domain.md
147
- - docs/domainspecs/pharma/authorization.domain.md
148
- - docs/domainspecs/pharma/auditing.domain.md
149
- - docs/domainspecs/pharma/data-classification.domain.md
150
- - docs/domainspecs/pharma/coding-standards.domain.md
151
- - docs/domainspecs/pharma/dependency-policy.domain.md
152
- - docs/domainspecs/pharma/api-versioning.domain.md
153
- - docs/domainspecs/pharma/ai-rules.domain.md
154
-
155
- ## /aw-spec-minimal-implementation
156
-
157
- > Single-step set for pharma — the **per-domain knob** (edit freely). `/aw-spec-minimal-implementation`
158
- > loads these to interpret and implement the requirement in one pass; genuinely-external runtime
159
- > services (terminology server, FHIR endpoint) are stubbed behind ports. For an audited build use
160
- > `## /aw-spec-fast-implement`.
161
-
162
- - docs/domainspecs/pharma/pharma-terms.md
163
- - docs/domainspecs/pharma/domain-driven-design.domain.md
164
- - docs/domainspecs/pharma/folder-structure.domain.md
165
- - docs/domainspecs/pharma/cqrs.domain.md
166
- - docs/domainspecs/pharma/vertical-slices.domain.md
167
- - docs/domainspecs/pharma/product-lifecycle.domain.md
168
- - docs/domainspecs/pharma/ndc.md
169
- - docs/domainspecs/pharma/idmp.md
170
- - docs/domainspecs/pharma/atc.md
171
-
172
- ---
173
-
174
- ## Quick reference (command → file count)
175
-
176
- | Command | Domain rule files |
177
- |---|---|
178
- | /aw-spec-constitution | 3 |
179
- | /aw-spec-specify | 15 |
180
- | /aw-spec-clarify | 8 |
181
- | /aw-spec-plan | 24 |
182
- | /aw-spec-tasks | 15 |
183
- | /aw-spec-analyze | 7 |
184
- | /aw-spec-implement | 24 |
185
- | /aw-spec-fast-implement | 24 |
186
- | /aw-spec-minimal-implementation | 9 |
@@ -1,16 +0,0 @@
1
- # CQRS — Pharma Domain Addenda
2
-
3
- > Technology base: [[cqrs]]. Commands: `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`.
4
-
5
- ## Pipeline
6
- - Append a **product-audit behavior** to the mediator pipeline: every create/modify/retire/re-identify/reclassify command on `MedicinalProduct` MUST emit an immutable audit record (User, Timestamp, Action, Previous Value, New Value). See [[auditing.domain]], [[regulatory-compliance]].
7
-
8
- ## Commands & queries
9
- - Registration, lifecycle transitions, ingredient/packaging edits, identifier & classification changes = **commands**; each publishes its domain event (see [[eventing.domain]], [[product-lifecycle.domain]]).
10
- - Product lookup, version history, FHIR projections = **queries** via `IReadRepository<MedicinalProduct>` + a `Specification` (see [[persistence.domain]]).
11
-
12
- ## Error codes
13
- `medicinal-product.not_found` · `ndc.duplicate` · `ndc.invalid_format` · `dosage-form.invalid` · `route.invalid` · `atc.invalid_code` · `lifecycle.invalid_transition` · `concurrency.conflict`.
14
-
15
- ## Related
16
- - [[cqrs]] · [[auditing.domain]] · [[eventing.domain]] · [[product-lifecycle.domain]] · [[persistence.domain]] · [[domain-driven-design.domain]] · [[regulatory-compliance]]
@@ -1,24 +0,0 @@
1
- # Data Classification — Pharma Domain Addenda
2
-
3
- > Technology base: [[data-classification]]. Commands: `/aw-spec-specify`, `/aw-spec-plan`, `/aw-spec-implement`.
4
-
5
- > No PHI — the model is commercial confidentiality, regulatory integrity, and source trust.
6
-
7
- ## Categories
8
- | Class | Extra rules |
9
- |---|---|
10
- | **Public / Published** (NDC-directory disclosure level) | Projectable via the public FHIR surface once `MarketingStatus` is active |
11
- | **Commercially-Sensitive** (pre-market formulations, proprietary strengths, unpublished products) | Access-restricted; **MUST NOT** be on the public FHIR surface until marketing status permits |
12
- | **Regulatory-Submission** (MA dossier refs, regulator keys) | Restricted; audited access (see [[auditing.domain]]) |
13
- | **Externally-Sourced** (FDA NDC / RxNorm / WHO ATC / partner feeds) | Carries a `ProvenanceRecord`; still validated (see [[data-provenance]]) |
14
-
15
- ## Data integrity (GxP / ALCOA+)
16
- - GxP records satisfy **ALCOA+** (Attributable, Legible, Contemporaneous, Original, Accurate + Complete, Consistent, Enduring, Available), enforced via immutable audit, provenance, version history (see [[auditing.domain]], [[data-provenance]], [[persistence.domain]], [[regulatory-compliance]]).
17
-
18
- ## Exposure & logging
19
- - `Draft`/`Under Review` or non-public `MarketingStatus` products MUST NOT be published on the public FHIR/REST surface (see [[product-lifecycle.domain]], [[fhir]]).
20
- - Externally-sourced values are never published without passing validation (see [[ndc]], [[atc]], [[terminology]]).
21
- - Commercially-sensitive pre-market details MUST NOT appear in logs/metrics/traces — log the product ID only (see [[coding-standards.domain]]).
22
-
23
- ## Related
24
- - [[data-classification]] · [[data-provenance]] · [[auditing.domain]] · [[persistence.domain]] · [[regulatory-compliance]] · [[product-lifecycle.domain]] · [[authorization.domain]] · [[coding-standards.domain]] · [[ndc]] · [[atc]] · [[fhir]]
@@ -1,21 +0,0 @@
1
- # Data Provenance Standards — Pharma
2
-
3
- > NON-NEGOTIABLE. Commands: `/aw-spec-specify`, `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`.
4
-
5
- ## First-class concern
6
- - Any product attribute imported from an external source (FDA NDC directory, RxNorm, WHO ATC, an MAH submission, a partner feed) SHALL carry a **`ProvenanceRecord`** (Provenance module).
7
- - Provenance is captured at ingestion through the Interop adapters — never back-filled by guessing (see [[hl7]], [[fhir]], [[ai-rules.domain]]).
8
-
9
- ## Record (minimum)
10
- ```
11
- { source, sourceSystem, sourceVersion, method, agent, timestamp, importedFields[], correlationId }
12
- ```
13
- - **sourceVersion** = originating authority's release/version (e.g. terminology edition; see [[terminology]], [[atc]]); **method** = automated import / manual entry / API sync; **agent** = responsible principal.
14
-
15
- ## Integrity
16
- - Complements audit (who/when/what; see [[auditing.domain]]) and version history (see [[persistence.domain]]).
17
- - Provenance does **not** exempt an NDC/ATC/UNII value from validation (see [[ndc]], [[atc]], [[terminology]]).
18
- - MAY project to the FHIR `Provenance` resource (see [[fhir]]).
19
-
20
- ## Related
21
- - [[auditing.domain]] · [[persistence.domain]] · [[terminology]] · [[ndc]] · [[atc]] · [[fhir]] · [[regulatory-compliance]] · [[ai-rules.domain]]
@@ -1,11 +0,0 @@
1
- # Dependency Policy — Pharma Domain Addenda
2
-
3
- > Technology base: [[dependency-policy]]. Commands: `/aw-spec-plan`, `/aw-spec-implement`.
4
-
5
- ## Reviews & libraries
6
- - Every new dependency gets a **regulatory-suitability** review beyond the generic license/supply-chain check — reject packages that phone home or ship analytics by default (leak risk for commercially-sensitive pre-market data) (see [[data-classification.domain]]).
7
- - FHIR: the **official FHIR .NET SDK**, version-matched to the endpoint (R4/R5; see [[fhir]]).
8
- - Terminology integrations (RxNorm/SNOMED/UNII/ATC/NDC) go through the Terminology module; client libraries added **only** on explicit developer request — no AI-introduced terminology/interop dependencies (see [[terminology]], [[hl7]], [[ai-rules.domain]]).
9
-
10
- ## Related
11
- - [[dependency-policy]] · [[fhir]] · [[hl7]] · [[terminology]] · [[data-classification.domain]] · [[ai-rules.domain]]
@@ -1,36 +0,0 @@
1
- # Domain-Driven Design — Medicinal Product Domain Model
2
-
3
- > Technology base: [[domain-driven-design]]. NON-NEGOTIABLE. Commands: `/aw-spec-specify`, `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`.
4
-
5
- ## Modeling
6
- - Use the pharma/regulatory ubiquitous language (see [[pharma-terms]]), aligned to ISO IDMP concepts (see [[idmp]]).
7
- - FHIR- and IDMP-aligned, but **FHIR resources are projections, not the system of record** (see [[fhir]]); the aggregate is authoritative.
8
- - Coded concepts use industry terminologies, never free text (see [[terminology]]); coded VOs follow the FHIR pattern (`Codeable`, `Coding`, `Quantity`, `Ratio`, `Identifier`).
9
-
10
- ## Aggregate Root
11
- - **`MedicinalProduct` is the Aggregate Root.** All product data (ingredients, packaging, marketing authorization, identifiers, classification, lifecycle state) is reached/modified **through** it; no external code mutates a contained entity directly. Invariants are enforced atomically; state changes raise domain events (see [[eventing.domain]]).
12
-
13
- ## Value Objects (immutable, equality by value)
14
- `NdcCode` · `ProductName` · `GenericName` · `Strength` · `DosageForm` · `RouteOfAdministration` · `AtcCode` · `MarketingStatus` · `PackageIdentifier`
15
- - `NdcCode`/`PackageIdentifier` — segmented, format-validated, unique (see [[ndc]]).
16
- - `Strength` — numerator/denominator `Quantity` with UCUM units; `DosageForm`/`RouteOfAdministration`/`AtcCode` — coded against configured value sets (see [[terminology]], [[atc]]).
17
-
18
- ## Entities (identity within the aggregate)
19
- - **`ActiveIngredient`** — Name, UNII, Strength, Strength Unit. **>= 1 required.**
20
- - **`PackagingConfiguration`** — Package NDC, Description, Quantity, Unit of Measure. **>= 1 required.**
21
- - **`MarketingAuthorization`** — authorization granted to the MAH by a regulator (see [[idmp]]).
22
-
23
- ## Invariants
24
- - **MedicinalProduct** — NDC unique + format-valid (invalid blocks persistence); >= 1 ActiveIngredient + >= 1 PackagingConfiguration; all required attributes enforced at registration; dosage form/route must be valid coded values; lifecycle transitions must be valid (see [[product-lifecycle.domain]]); identifier/classification changes are audit-mandatory + emit events (see [[auditing.domain]], [[eventing.domain]]).
25
- - **PackagingConfiguration** — Package NDC unique within and across products (see [[ndc]]).
26
- - **ActiveIngredient** — Strength + Strength Unit required; UNII validated where supplied (see [[terminology]]).
27
- - **AuditRecord** — append-only; no update/delete (see [[auditing.domain]]).
28
-
29
- ## Validation summary
30
- NDC format; required attributes; duplicate identifiers; invalid dosage forms; invalid routes; invalid lifecycle transitions (see [[ndc]], [[terminology]], [[product-lifecycle.domain]]).
31
-
32
- ## AI guidance
33
- See [[ai-rules.domain]] — confirm signatures, use the official FHIR SDK, never invent NDC/UNII/RxNorm/SNOMED/ATC codes, keep FHIR as projections.
34
-
35
- ## Related
36
- - [[domain-driven-design]] · [[product-lifecycle.domain]] · [[ndc]] · [[idmp]] · [[atc]] · [[terminology]] · [[fhir]] · [[eventing.domain]] · [[auditing.domain]] · [[persistence.domain]] · [[pharma-terms]] · [[ai-rules.domain]]
@@ -1,99 +0,0 @@
1
- # DOMAIN REQUIREMENTS (project-specific)
2
-
3
- > Project-specific input, **updated independently per project**. The engineering constitution
4
- > stays domain-agnostic and supreme; this file holds the per-project enumeration and headline
5
- > profiles for the **Medicinal Product Registration** domain. Detailed domain *rules* are
6
- > expanded in the sibling files in this folder.
7
- >
8
- > Replace `<SampleProjectName>` and the bounded-context list below for a new project.
9
-
10
- =====================================================================
11
- [DOMAIN: Bounded Contexts / Modules]
12
- =====================================================================
13
- - ProductRegistry — aggregate root: **MedicinalProduct**; owns ActiveIngredient,
14
- PackagingConfiguration, MarketingAuthorization entities and the product value objects
15
- (NdcCode, ProductName, GenericName, Strength, DosageForm, RouteOfAdministration, AtcCode,
16
- MarketingStatus, PackageIdentifier). See [[domain-driven-design.domain]].
17
- - Substances — aggregates: Substance, ActiveMoiety; UNII-keyed ingredient identity
18
- (see [[terminology]]).
19
- - Organizations — aggregates: Organization, MarketingAuthorizationHolder, Manufacturer,
20
- Labeler. Maps to FHIR `Organization` (see [[fhir]]).
21
- - Classification — aggregates: AtcClassification, ProductClassification; ATC code sets and
22
- SNOMED CT classification references (see [[atc]], [[terminology]]).
23
- - Terminology — aggregates: CodeSystem, ValueSet, ConceptMap (project-managed subsets;
24
- expansions cached from external terminology services). Backs NDC/ATC/UNII/SNOMED/RxNorm
25
- validation (see [[terminology]]).
26
- - Lifecycle — the MedicinalProduct state machine (Draft → Under Review → Approved → Active →
27
- Discontinued → Withdrawn) and its transition guards (see [[product-lifecycle.domain]]).
28
- - Interoperability — aggregates: FhirProjection, IntegrationEndpoint; FHIR Medication /
29
- MedicationKnowledge / Substance / Organization projections and HL7 readiness
30
- (see [[fhir]], [[hl7]]).
31
- - Provenance — aggregate: ProvenanceRecord for externally sourced product data
32
- (see [[data-provenance]]).
33
- - Auditing — aggregate: AuditRecord (append-only). Captures creation, modification,
34
- retirement, identifier and classification changes (see [[auditing.domain]]).
35
-
36
- =====================================================================
37
- [DOMAIN: subsection pointers]
38
- =====================================================================
39
- [DOMAIN: Standards — NDC] -> docs/domainspecs/pharma/ndc.md
40
- [DOMAIN: Standards — ISO IDMP] -> docs/domainspecs/pharma/idmp.md
41
- [DOMAIN: Standards — ATC] -> docs/domainspecs/pharma/atc.md
42
- [DOMAIN: Standards — Terminology] -> docs/domainspecs/pharma/terminology.md
43
- [DOMAIN: Interop — FHIR] -> docs/domainspecs/pharma/fhir.md
44
- [DOMAIN: Interop — HL7] -> docs/domainspecs/pharma/hl7.md
45
- [DOMAIN: Aggregates and Business Invariants] -> docs/domainspecs/pharma/domain-driven-design.domain.md
46
- [DOMAIN: Product Lifecycle] -> docs/domainspecs/pharma/product-lifecycle.domain.md
47
- [DOMAIN: Regulatory / Compliance] -> docs/domainspecs/pharma/regulatory-compliance.md
48
- [DOMAIN: Data Provenance] -> docs/domainspecs/pharma/data-provenance.md
49
- [DOMAIN: Audit Profile] -> docs/domainspecs/pharma/auditing.domain.md
50
- [DOMAIN: Persistence / Versioning Profile] -> docs/domainspecs/pharma/persistence.domain.md
51
- [DOMAIN: Eventing Profile] -> docs/domainspecs/pharma/eventing.domain.md
52
- [DOMAIN: Testing Profile] -> docs/domainspecs/pharma/testing.domain.md
53
- [DOMAIN: Security Profile] -> docs/domainspecs/pharma/authorization.domain.md, docs/domainspecs/pharma/data-classification.domain.md, docs/domainspecs/pharma/zero-trust.domain.md
54
- [DOMAIN: Coding Standards Profile] -> docs/domainspecs/pharma/coding-standards.domain.md
55
- [DOMAIN: CQRS / Vertical Slices Profile] -> docs/domainspecs/pharma/cqrs.domain.md, docs/domainspecs/pharma/vertical-slices.domain.md
56
- [DOMAIN: Folder Structure Profile] -> docs/domainspecs/pharma/folder-structure.domain.md
57
- [DOMAIN: API Versioning Profile] -> docs/domainspecs/pharma/api-versioning.domain.md
58
- [DOMAIN: Dependency Policy Profile] -> docs/domainspecs/pharma/dependency-policy.domain.md
59
- [DOMAIN: Integration Terms] -> docs/domainspecs/pharma/integration-terms.md
60
- [DOMAIN: AI Policy Addenda] -> docs/domainspecs/pharma/ai-rules.domain.md
61
- [DOMAIN: Ubiquitous Language] -> docs/domainspecs/pharma/pharma-terms.md
62
- [DOMAIN: Platform Topology] -> below
63
-
64
- =====================================================================
65
- [DOMAIN: Platform Topology]
66
- =====================================================================
67
- - Target runtime: Kubernetes (AKS, EKS, or on-prem). Single-region by default; multi-region
68
- active/passive for DR.
69
- - External dependencies (Aspire resources): PostgreSQL (primary product registry), Redis
70
- (cache for terminology expansions + read models), a message broker (Azure Service Bus,
71
- AWS SQS/SNS, or RabbitMQ) for CloudEvents, an OTel collector, the configured IdP, an external
72
- Terminology Service (NDC/RxNorm/SNOMED/UNII/ATC value-set expansion, optional), a FHIR
73
- validator container, and an object store (S3/Blob) for imported source documents / labels.
74
- - Scale targets: P95 read latency < 200 ms at 200 RPS per module; FHIR search P95 < 500 ms.
75
- - Disaster recovery: RPO <= 15 minutes, RTO <= 4 hours; daily encrypted backups with 35-day
76
- retention plus monthly archive. Product registry and audit history are retention-protected
77
- (see [[persistence.domain]], [[auditing.domain]]).
78
-
79
- =====================================================================
80
- [DOMAIN: Governance Overrides]
81
- =====================================================================
82
- - Principal Engineers (approvers): TBD — fill at ratification.
83
- - Regulatory / Compliance Officer (mandatory approver for any identifier, classification, or
84
- lifecycle-rule change): TBD.
85
- - Domain Owners (per module): TBD — assign one regulatory and one technical owner per bounded
86
- context.
87
- - Quarterly review cadence: first business week of each quarter; an additional review after
88
- every relevant regulatory or terminology-release update (e.g. WHO ATC annual update, FDA NDC
89
- directory changes).
90
- - Exception process: a time-boxed waiver via a Waiver Request issue, approved by a Principal
91
- Engineer + the Compliance Officer, with a mandatory expiry <= 90 days and a remediation plan
92
- recorded in the issue.
93
-
94
- ## Related
95
-
96
- - [[domain-driven-design.domain]] · [[product-lifecycle.domain]] · [[ndc]] · [[idmp]] ·
97
- [[atc]] · [[terminology]] · [[fhir]] · [[hl7]] · [[regulatory-compliance]] ·
98
- [[data-provenance]] · [[auditing.domain]] · [[persistence.domain]] · [[ai-rules.domain]] ·
99
- [[pharma-terms]]
@@ -1,18 +0,0 @@
1
- # Eventing — Pharma Domain Addenda
2
-
3
- > Technology base: [[eventing]]. Commands: `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`.
4
-
5
- ## Domain events
6
- - `MedicinalProduct` raises domain events on every significant state change — the integration seam to downstream consumers (prescribing, dispensing, manufacturing, pharmacovigilance, clinical).
7
- - Events publish from the aggregate boundary, never by an external feed writing aggregates directly (see [[hl7]], [[domain-driven-design.domain]]).
8
-
9
- ## Canonical events
10
- `MedicinalProductRegistered` (Draft) · `…SubmittedForReview`/`Approved`/`Activated`/`Discontinued`/`Withdrawn` (lifecycle, see [[product-lifecycle.domain]]) · `ProductIdentifierChanged` (NDC, see [[ndc]]) · `ProductClassificationChanged` (ATC, see [[atc]]) · `ActiveIngredientChanged`/`PackagingConfigurationChanged` · `MarketingStatusChanged`. Each = an audit-mandatory operation (see [[auditing.domain]]).
11
-
12
- ## Delivery
13
- - Outbox pattern: events persisted transactionally with the aggregate change, published to CloudEvents. Consumers integrate via FHIR / REST / event stream — **direct DB access FORBIDDEN** (see [[fhir]]).
14
- - Payloads carry coded values via standard terminologies, never free text (see [[terminology]], [[ndc]], [[atc]]).
15
- - Each event carries a `correlationId` tying command → audit record → version snapshot (see [[auditing.domain]], [[persistence.domain]], [[regulatory-compliance]]).
16
-
17
- ## Related
18
- - [[eventing]] · [[domain-driven-design.domain]] · [[product-lifecycle.domain]] · [[auditing.domain]] · [[persistence.domain]] · [[fhir]] · [[hl7]] · [[ndc]] · [[atc]] · [[terminology]]
@@ -1,31 +0,0 @@
1
- # FHIR Standards — Pharma
2
-
3
- > NON-NEGOTIABLE. Commands: `/aw-spec-specify`, `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`.
4
-
5
- ## Architecture & projectors
6
- - **R4 default**; R5 **additive** under `/fhir/R5/...`. FHIR is the canonical interop contract; it + any internal REST serve from the **same authoritative aggregates** — no duplicate write paths.
7
- - **FHIR resources are PROJECTIONS, NOT the system of record** — `MedicinalProduct` is authoritative (see [[domain-driven-design.domain]]).
8
- - Mapping in `{Module}/Interop/Fhir/<Resource>Projector.cs`, hand-written + round-trip tested (see [[testing.domain]]). A second FHIR write path bypassing the aggregate is FORBIDDEN; FHIR representations MUST NOT replace internal DTOs.
9
-
10
- ## Resource mappings
11
- | Domain concept | FHIR resource |
12
- |---|---|
13
- | `MedicinalProduct` (dispensable identity) | **Medication** |
14
- | `MedicinalProduct` (classification/packaging/regulatory) | **MedicationKnowledge** |
15
- | `Substance` / `ActiveIngredient` | **Substance** |
16
- | `MarketingAuthorizationHolder` / `Manufacturer` / `Labeler` | **Organization** |
17
-
18
- - Identifiers → FHIR `Identifier` (`NdcCode` with NDC system URI; IDMP MPID/PhPID where adopted; see [[ndc]], [[idmp]]).
19
- - Names → `Medication.code` + name elements; coded fields → `CodeableConcept`/`Coding` (see [[terminology]]); ATC codings carry the ATC system URI (see [[atc]]).
20
- - `Strength` → `Medication.ingredient.strength` (`Ratio` of `Quantity`); `DosageForm` → `Medication.form`; route + packaging → `MedicationKnowledge`.
21
-
22
- ## Conformance
23
- - FHIR types from the **official FHIR .NET SDK**, version-matched (R4/R5) (see [[ai-rules.domain]]).
24
- - Declare profiles/extensions/value-sets in `StructureDefinition` resources; FHIR validator passes for every modified resource/profile/example (CI gate).
25
- - Publish `CapabilityStatement` at `/fhir/metadata` (diff reviewed); `/metadata` + `/.well-known` may be `AllowAnonymous()`.
26
-
27
- ## Bundle / search / concurrency
28
- - Bundle/searchset semantics (`_count`, `_offset`/`_page`, `_total`); errors via `OperationOutcome` (HTTP 422); `If-Match` → FHIR **weak** ETag at the projection boundary (see [[persistence.domain]]).
29
-
30
- ## Related
31
- - [[domain-driven-design.domain]] · [[terminology]] · [[ndc]] · [[idmp]] · [[atc]] · [[hl7]] · [[integration-terms]] · [[persistence.domain]] · [[testing.domain]] · [[ai-rules.domain]]
@@ -1,24 +0,0 @@
1
- # Folder Structure — Pharma Domain Addenda
2
-
3
- > Technology base: [[folder-structure]]. Commands: `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`. Replace `<SampleProjectName>`.
4
-
5
- ## Additions to the base layout
6
- ```
7
- src/<SampleProjectName>.Service/
8
- Infrastructure/Security/ auth handlers, scope evaluators, change-authority checks
9
- Infrastructure/Auditing/ immutable product-audit emitter (FHIR AuditEvent shape)
10
- ProductRegistry/Domain/<ValueObject>.cs NdcCode, AtcCode, Strength, DosageForm, ...
11
- ProductRegistry/Domain/MedicinalProduct.cs aggregate root (see [[domain-driven-design.domain]])
12
- ProductRegistry/Interop/Fhir/ Medication/MedicationKnowledge/Substance/Organization projectors (see [[fhir]])
13
- ProductRegistry/Interop/Hl7v2/ inbound parsers + outbound emitters (when needed) (see [[hl7]])
14
- Terminology/ CodeSystem/ValueSet/ConceptMap + seed (NDC/RxNorm/SNOMED/UNII/ATC) (see [[terminology]])
15
- Provenance/ ProvenanceRecord store for external data (see [[data-provenance]])
16
- tests/<SampleProjectName>.InteropTests/ FHIR-validator conformance (see [[testing.domain]])
17
- tests/<SampleProjectName>.TestFixtures/ synthetic/test NDC + terminology sentinels (see [[testing.domain]])
18
- docs/interop/fhir-implementation-guide/ · docs/regulatory/compliance-controls.md
19
- ```
20
- - `Interop/` adapters translate to/from internal commands + projections (see [[vertical-slices.domain]]).
21
- - Coded VOs follow the FHIR pattern (see [[terminology]], [[coding-standards.domain]]); version history + audit store are retention-protected (see [[persistence.domain]], [[auditing.domain]]).
22
-
23
- ## Related
24
- - [[folder-structure]] · [[fhir]] · [[hl7]] · [[terminology]] · [[data-provenance]] · [[testing.domain]] · [[vertical-slices.domain]] · [[domain-driven-design.domain]]
@@ -1,17 +0,0 @@
1
- # HL7 Integration Readiness — Pharma
2
-
3
- > Commands: `/aw-spec-specify`, `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`.
4
-
5
- ## Principle
6
- - The solution SHALL support **future integration with HL7-based systems**. The registry is the authoritative product source; HL7 surfaces are **adapters, not a parallel model**. FHIR is the primary contract (see [[fhir]]); HL7 v2 adapters are added where a downstream system (prescribing/dispensing/manufacturing/pharmacovigilance) needs them.
7
-
8
- ## Adapter patterns
9
- - Inbound/outbound adapters live in `{Module}/Interop/Hl7v2/`; translate via `IMediator` — **MUST NOT** write aggregates directly (see [[eventing.domain]], [[domain-driven-design.domain]]). Bypassing them from an external feed is an AI refusal condition (see [[ai-rules.domain]]).
10
- - The egress adapter converts domain events (e.g. `MedicinalProductActivated`, `ClassificationChanged`) to outbound messages; conformance tested against an internal corpus (see [[testing.domain]]).
11
- - Codes in HL7 messages use standard terminologies (NDC, RxNorm, UNII, ATC) — never free text (see [[terminology]], [[ndc]], [[atc]]).
12
-
13
- ## Future surfaces
14
- - Pharmacovigilance (ICH E2B/ICSR), manufacturing, dispensing integrations are **additive** — consume via FHIR / REST / CloudEvents; **direct DB access FORBIDDEN** (see [[eventing.domain]]).
15
-
16
- ## Related
17
- - [[fhir]] · [[eventing.domain]] · [[terminology]] · [[ndc]] · [[atc]] · [[integration-terms]] · [[domain-driven-design.domain]] · [[testing.domain]] · [[ai-rules.domain]]
@@ -1,26 +0,0 @@
1
- # ISO IDMP — Identification of Medicinal Products
2
-
3
- > NON-NEGOTIABLE. Commands: `/aw-spec-specify`, `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`.
4
-
5
- ## Alignment principle
6
- - The model SHALL align with the ISO IDMP suite (**ISO 11615/11616/11238/11239/11240**) **where applicable** — IDMP shapes the ubiquitous language + aggregate boundaries; it is **not** a wire format and does not replace the internal model (see [[domain-driven-design.domain]]).
7
- - Even where IDMP messages aren't yet exchanged, preserve the IDMP concept boundaries so future exchange is additive, not a rewrite.
8
-
9
- ## Required concepts → model home
10
- | IDMP concept | Model home |
11
- |---|---|
12
- | **Medicinal Product** | `MedicinalProduct` aggregate root |
13
- | **Manufactured Item** | manufactured dose-form item (within the aggregate or a related entity) |
14
- | **Pharmaceutical Product** | administrable product = `DosageForm` + `Strength` + `RouteOfAdministration` |
15
- | **Substance** | `Substance` aggregate, UNII-identified (see [[terminology]]); referenced by `ActiveIngredient` |
16
- | **Marketing Authorization Holder** | `MarketingAuthorizationHolder` → FHIR `Organization` (see [[fhir]]) |
17
- | **Packaging** | `PackagingConfiguration` (Package NDC, description, quantity, UoM) (see [[ndc]]) |
18
- | **Strength** | `Strength` VO (numerator/denominator `Quantity`, UCUM) |
19
- | **Route of Administration** | `RouteOfAdministration` VO (coded) |
20
-
21
- ## Identifiers & terminology
22
- - IDMP identifiers (**MPID**, **PhPID**) SHALL be representable as FHIR `Identifier`-shaped VOs when adopted; they coexist with NDC, not replace it (see [[ndc]]).
23
- - IDMP controlled vocabularies (dose form, route, units, packaging) bind to the Terminology module's code systems, never free text (see [[terminology]], [[atc]]).
24
-
25
- ## Related
26
- - [[domain-driven-design.domain]] · [[ndc]] · [[terminology]] · [[atc]] · [[fhir]] · [[pharma-terms]]
@@ -1,21 +0,0 @@
1
- # Glossary — Integration Terms (Pharma)
2
-
3
- > Ubiquitous language for pharma interoperability standards + identifiers. Commands: `/aw-spec-specify`, `/aw-spec-clarify`, `/aw-spec-plan`. See [[pharma-terms]] (aggregates) + [[terminology]] (coding).
4
-
5
- | Term | Definition |
6
- |---|---|
7
- | **NDC** | US FDA product/package identifier (Labeler + Product + Package); the `NdcCode` VO; format-validated, unique (see [[ndc]]). |
8
- | **ISO IDMP** | Identification of Medicinal Products (ISO 11615/11616/11238/11239/11240); conceptual alignment; may carry MPID/PhPID (see [[idmp]]). |
9
- | **UNII** | FDA substance identity for ingredients/moieties; maps to FHIR `Substance.code` (see [[terminology]]). |
10
- | **RxNorm** | Normalized clinical-drug naming (US); optional product identifier (see [[terminology]]). |
11
- | **WHO ATC** | Therapeutic class codes; multiple per product, validated against configured sets (see [[atc]]). |
12
- | **SNOMED CT** | Terminology for dosage forms, routes, product classification (see [[terminology]]). |
13
- | **UCUM** | Units for strength + package quantity (see [[terminology]]). |
14
- | **FHIR** | Canonical external contract (R4 default, R5 additive); projects to `Medication`/`MedicationKnowledge`/`Substance`/`Organization` over aggregates (see [[fhir]]). |
15
- | **HL7** | **HL7 v2.x** legacy messaging via adapters where a consumer needs it; **HL7 FHIR** is the primary contract (see [[hl7]], [[fhir]]). |
16
- | **Provenance** | Source metadata for externally sourced data; may project to FHIR `Provenance` (see [[data-provenance]]). |
17
- | **CloudEvents** | CNCF durable async event-stream spec; carries product domain events (see [[eventing.domain]]). |
18
- | **OpenAPI / CapabilityStatement** | Versioned machine-readable contracts for REST / FHIR (see [[api-versioning.domain]]). |
19
-
20
- ## Related
21
- - [[pharma-terms]] · [[terminology]] · [[ndc]] · [[idmp]] · [[atc]] · [[fhir]] · [[hl7]] · [[data-provenance]] · [[eventing.domain]] · [[api-versioning.domain]]
@@ -1,28 +0,0 @@
1
- # NDC — National Drug Code Standards
2
-
3
- > NON-NEGOTIABLE. Commands: `/aw-spec-specify`, `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`.
4
-
5
- ## Value Object
6
- - **NDC SHALL be a Value Object** (`NdcCode`) — immutable, equality by value (see [[domain-driven-design.domain]]).
7
- - Product-level NDC lives on `MedicinalProduct`; package-level (`PackageIdentifier` / Package NDC) on each `PackagingConfiguration`.
8
- - Free-text storage of an NDC is a Forbidden Pattern.
9
-
10
- ## Segments & format
11
- - Three segments: **Labeler Code**, **Product Code**, **Package Code** — retain each segment discretely **plus** the canonical formatted string (boundaries MUST NOT be lost to a concatenated string).
12
- - Common configurations (5-4-2, 5-3-2, 4-4-2 10-digit + the 11-digit normalized form) SHALL be representable as **data, not compiled constants**.
13
- - The Labeler Code is FDA-assigned to the **Labeler** organization; the registry does not mint Labeler Codes (see [[domain-requirements]]).
14
-
15
- ## Uniqueness
16
- - **NDC uniqueness SHALL be enforced** — a product NDC maps to <=1 active `MedicinalProduct`; a Package NDC to <=1 `PackagingConfiguration`.
17
- - Duplicate detection runs at registration + any identifier change; enforced at the aggregate boundary **and** a persistence-level unique constraint (see [[persistence.domain]], [[auditing.domain]]).
18
-
19
- ## Validation
20
- - **NDC validation rules SHALL be configurable** (segment lengths, allowed configurations, check rules = value-set data).
21
- - Runs on registration, identifier change, and external import (see [[data-provenance]]); an invalid NDC raises a domain error — the Domain MUST NOT persist it.
22
- - Never invent NDC values or Labeler Codes — validate external codes against the configured rules + FDA NDC directory via the Terminology module (see [[terminology]], [[ai-rules.domain]]).
23
-
24
- ## FHIR mapping
25
- - `NdcCode` → FHIR `Identifier` (NDC system URI); also participates in `Medication.code` as a `CodeableConcept` coding (see [[fhir]]).
26
-
27
- ## Related
28
- - [[domain-driven-design.domain]] · [[idmp]] · [[terminology]] · [[fhir]] · [[data-provenance]] · [[persistence.domain]] · [[auditing.domain]] · [[ai-rules.domain]]
@@ -1,23 +0,0 @@
1
- # Persistence — Pharma Domain Addenda
2
-
3
- > Technology base: [[persistence]]. NON-NEGOTIABLE. Commands: `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-implement`.
4
-
5
- ## Version history
6
- - Maintain a **version history** of product information: each approved change produces a new, immutable **`ProductVersion`** snapshot.
7
- - **Historical versions remain queryable** — a read model exposes prior versions by product + effective time; superseded versions are never overwritten or purged. Snapshots complement audit (who/what/when; see [[auditing.domain]]) and provenance (source; see [[data-provenance]]).
8
-
9
- ## Retention-protected data
10
- - Hard delete FORBIDDEN for `MedicinalProduct` and all product history — delete logically via `MarkAsDeleted(...)` / lifecycle retirement.
11
- - **Product retirement** (Discontinued/Withdrawn) is a state change, not a delete (see [[product-lifecycle.domain]]).
12
- - `AuditRecord` is **append-only** — no delete (see [[auditing.domain]]).
13
- - Retention: registry + version history per regulatory policy (registration lifetime + statutory tail); `AuditRecord` per [[auditing.domain]]; daily encrypted backups.
14
-
15
- ## Constraints & concurrency
16
- - Persistence-level **unique constraints** on NDC and Package NDC, beyond the aggregate check (see [[ndc]], [[domain-driven-design.domain]]).
17
- - Optimistic concurrency token → FHIR **weak** ETag at the projection boundary (see [[fhir]]).
18
-
19
- ## Dev data
20
- - Fixtures use synthetic data + **synthetic/clearly-marked test NDCs** — never real identifiers that could collide with the FDA NDC directory (see [[ndc]], [[testing.domain]]).
21
-
22
- ## Related
23
- - [[persistence]] · [[auditing.domain]] · [[data-provenance]] · [[product-lifecycle.domain]] · [[ndc]] · [[fhir]] · [[domain-driven-design.domain]] · [[testing.domain]]