mneme-cli 0.4.0__py3-none-any.whl

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.
@@ -0,0 +1,196 @@
1
+ ---
2
+ name: EU MDR
3
+ description: European Medical Device Regulation (EU 2017/745) documentation profile
4
+ version: 2.0
5
+ tone: formal
6
+ voice: passive-for-procedures
7
+ citation_style: section-reference
8
+ placeholder_for_missing_refs: "[TO ADD REF]"
9
+ trace_types:
10
+ - derived-from
11
+ - implemented-by
12
+ - detailed-in
13
+ - mitigated-by
14
+ - verified-by
15
+ - validated-by
16
+ - referenced-in
17
+ - supersedes
18
+ requirement_levels:
19
+ shall: mandatory requirement - must be fulfilled
20
+ should: recommended - expected unless justified otherwise
21
+ may: permitted - optional, at discretion
22
+ vocabulary:
23
+ - use: medical device
24
+ reject: [product, unit, item, widget, gadget]
25
+ - use: intended purpose
26
+ reject: [intended use, use case, purpose]
27
+ - use: manufacturer
28
+ reject: [company, vendor, maker, supplier]
29
+ - use: clinical evaluation
30
+ reject: [clinical review, clinical assessment]
31
+ - use: risk management
32
+ reject: [risk analysis, risk review]
33
+ - use: design and development
34
+ reject: [R&D, engineering]
35
+ - use: verification
36
+ reject: [testing, checking]
37
+ - use: validation
38
+ reject: [user testing, acceptance testing]
39
+ - use: notified body
40
+ reject: [certification body, audit body]
41
+ - use: technical documentation
42
+ reject: [tech docs, technical file]
43
+ - use: post-market surveillance
44
+ reject: [PMS, market monitoring]
45
+ - use: unique device identification
46
+ reject: [UDI, device ID]
47
+ - use: economic operator
48
+ reject: [distributor, reseller]
49
+ - use: conformity assessment
50
+ reject: [compliance check, certification]
51
+ - use: essential requirements
52
+ reject: [basic requirements, core requirements]
53
+ ---
54
+
55
+ # Principles
56
+
57
+ - Reproducibility: every section must contain enough detail that an independent reviewer with no prior knowledge of the project could in principle reproduce the work. If a reader has to guess, infer, or look elsewhere for critical information, the section is incomplete.
58
+ - Technical, not clinical: validation documents describe technical measurements (e.g. a kinematic signal captured by an accelerometer). They do not describe clinical outcomes, patient experiences, or functional burden. Language must reflect this distinction.
59
+ - Construct validity, not clinical efficacy: when a clinical rating scale (e.g. UPDRS) is used as a reference standard, the algorithm output is a technical proxy that correlates with that scale. Correlation demonstrates construct validity of the technical measurement, not clinical efficacy.
60
+
61
+ # General Rules
62
+
63
+ - Be specific, never vague. Replace "adequate statistical power" with the actual power calculation. Replace "diverse populations" with the exact demographic breakdown.
64
+ - Define before you use. Every abbreviation, metric, method, and technical term must be defined at first use.
65
+ - Reference everything. Every dataset, document, standard, or external claim must have an ID, version, and/or citation.
66
+ - If a specific reference cannot be identified at the time of writing, insert the placeholder [TO ADD REF] at the exact point where the citation is needed. Do not omit the claim or leave the gap unmarked.
67
+ - Separate observation from interpretation. State the result first; then in separate sentences state what it means technically.
68
+ - Avoid marketing language. Words like "excellent", "strong", "robust", "high accuracy" are editorial. Let the numbers speak.
69
+ - Use consistent terminology throughout. Pick one term for each concept (e.g. always "algorithm output" or always "tremor metric", not both interchangeably).
70
+ - Never leave a section blank. If a section heading exists, it must contain content or be removed.
71
+
72
+ # Terminology
73
+
74
+ | Use | Instead of | Why |
75
+ |---|---|---|
76
+ | Kinematic tremor features | Tremor symptoms | The algorithm detects kinematic signals from accelerometer data, not clinical symptoms. |
77
+ | Accelerometer-derived oscillatory signal | Tremor burden experienced by the patient | Distinguishes the technical signal from the patient experience. |
78
+ | The algorithm output correlates with the reference standard | The algorithm captures the severity of tremor | Correlation framing avoids claiming the algorithm measures clinical severity directly. |
79
+ | Technical proxy for clinician-rated scores | Clinically meaningful measurement | Construct validity language, not clinical efficacy language. |
80
+ | The output shows a monotonic association with [scale] | The measurement reflects the functional burden | Statistical relationship, not clinical interpretation. |
81
+ | Rhythmic oscillations within the target frequency band | Tremor as experienced during daily living | Frequency-domain technical description, not lived experience. |
82
+ | The algorithm quantifies the proportion of time during which target kinematic features are detected | The algorithm measures how tremor affects the patient's activities of daily living | Reports a measurement, not an outcome. |
83
+
84
+ # Framing: Describing correlation results
85
+
86
+ **Wrong:**
87
+
88
+ > The results showcase how tremor affects a patient's activities of daily living. This confirms the algorithm measures a symptom that is directly relevant to the patient's experience.
89
+
90
+ **Correct:**
91
+
92
+ > The algorithm's output demonstrates a statistically significant monotonic correlation (Spearman r = 0.399, p < 0.001) with clinician-rated UPDRS Part II Item 16 scores. This supports the construct validity of the accelerometer-derived tremor metric as a technical proxy for the reference standard.
93
+
94
+ **Why:** the wrong version makes a clinical claim. The correct version reports a statistical relationship with a reference standard and frames it as construct validity of a technical measurement.
95
+
96
+ # Framing: Describing figures
97
+
98
+ **Wrong:**
99
+
100
+ > This correlation validates that the algorithm's measurement is clinically meaningful and accurately reflects the functional burden experienced by the subject.
101
+
102
+ **Correct:**
103
+
104
+ > The progressive increase in algorithm-derived tremor percentage across higher reference standard scores supports a consistent monotonic relationship between the technical output and the clinician-rated scale.
105
+
106
+ **Why:** the wrong version uses "clinically meaningful" and "functional burden" (clinical claims). The correct version describes the relationship between two numerical signals.
107
+
108
+ # Document Type: risk-management
109
+
110
+ ISO 14971 compliant risk management file.
111
+
112
+ # Document Type: clinical-evaluation
113
+
114
+ MEDDEV 2.7/1 rev 4 clinical evaluation report.
115
+
116
+ # Document Type: design-history-file
117
+
118
+ Design and development documentation per Annex II.
119
+
120
+ # Document Type: software-documentation
121
+
122
+ IEC 62304 software lifecycle documentation.
123
+
124
+ # Document Type: post-market-surveillance
125
+
126
+ Post-market surveillance per Article 83-86.
127
+
128
+ # Document Type: technical-documentation
129
+
130
+ Technical documentation per Annex II and III.
131
+
132
+ # Document Type: design-validation-report
133
+
134
+ Design Validation Report under the EU MDR CE Marking process. Demonstrates the design output meets the design inputs and the device performs its intended technical function against pre-defined reference standards.
135
+
136
+ ## Section: purpose-and-scope
137
+
138
+ State the intended use in technical terms (e.g. detection and quantification of kinematic features from triaxial accelerometer data). Be explicit that this report covers design validation against pre-defined reference standards. Avoid clinical claims about patient outcomes.
139
+
140
+ ## Section: context
141
+
142
+ Write as a technical literature review. Cite peer-reviewed precedent for the chosen modality and the rationale for treating it as a valid technical proxy. This section must never be left blank - if a Context heading exists, it must contain real content.
143
+
144
+ ## Section: referenced-documents
145
+
146
+ Every referenced document must include document ID, title, version number, and the date of the referenced version. No bare references.
147
+
148
+ ## Section: execution-metadata
149
+
150
+ State explicitly who executed the validation (name and role), when (date), and any prerequisites (preliminary testing, training, prior knowledge required).
151
+
152
+ ## Section: dataset-descriptions
153
+
154
+ Describe each dataset with reproducibility in mind. The reader should be able to identify the dataset's source institution, ethics approval reference, GDPR compliance posture, demographic composition (N, sex split, age range, severity distribution, inclusion/exclusion criteria), recording environment, exact device specifications with datasheet links, data characteristics, independence from training data (with split percentage and method when applicable), and storage location within the QMS.
155
+
156
+ ## Section: methodology-explanations
157
+
158
+ Every method or technique mentioned must be explained in enough detail for an independent reviewer to reproduce it. Define every technical term at first use or remove it. Examples of methods that always need a full explanation: cross-validation schemes (LOSO, k-fold), aggregate metrics (e.g. Mean Daily Tremor %) including bin size, wear-time determination, aggregation, thresholds, filters.
159
+
160
+ ## Section: test-equipment
161
+
162
+ Specify both software environment (language version, library versions with numbers, algorithm version, git commit hash) and hardware environment (OS, CPU, RAM).
163
+
164
+ ## Section: sample-size-justification
165
+
166
+ Be specific and quantitative. Give exact sample sizes per dataset and subgroup, the statistical power calculation (target power, expected effect size, alpha, formula or tool used), demographic breakdowns, and inclusion/exclusion criteria. Do not appeal vaguely to "established standards" - cite any standard by name and number.
167
+
168
+ ## Section: acceptance-criteria
169
+
170
+ Every threshold must have a documented rationale. Cite where the cutoff comes from (literature, regulatory guidance, predicate device comparison). Explain why the specific value was chosen as the minimum acceptable level - not why the achieved result happens to be good.
171
+
172
+ ## Section: test-results
173
+
174
+ Report numbers, statistical tests, and pass/fail per acceptance criterion. Avoid editorial language ("excellent", "highly effective", "clinically meaningful"). When perfect scores appear (e.g. Precision = 1.00), acknowledge the implication and discuss possible contributing factors such as small sample size or class separability. Keep figure captions descriptive, not interpretive - interpretation belongs in body text.
175
+
176
+ ## Section: conclusion
177
+
178
+ State pass/fail per metric. Use "validated" only in the technical sense (output meets pre-defined acceptance criteria against specified reference standards). Do not claim "clinically validated" unless a separate clinical validation has been performed.
179
+
180
+ # Submission Checklist
181
+
182
+ - Context section is populated with literature references
183
+ - All referenced documents have ID, version, and date
184
+ - Execution metadata (who, when, prerequisites) is stated
185
+ - Each dataset has full documentation (source, ethics, demographics, device specs, independence from training data, QMS location)
186
+ - Hardware and software environments are fully specified
187
+ - All methods explained in reproducible detail
188
+ - Sample size justification includes actual numbers, power calculations, and demographic breakdowns
189
+ - All acceptance criteria thresholds have documented, citable justifications
190
+ - No clinical claims - all language is technical (kinematic, proxy, correlation with reference standard)
191
+ - Perfect scores (1.00) are acknowledged and discussed
192
+ - No undefined terms
193
+ - No vague appeals to "established standards" - specific standards cited by name and number
194
+ - All placeholder values (e.g. ICC = 0.XX) are replaced with actual results
195
+ - Figure captions are descriptive, not interpretive
196
+ - Conclusion says "design validated" not "clinically validated"
@@ -0,0 +1,182 @@
1
+ ---
2
+ name: ISO 13485
3
+ description: ISO 13485:2016 Quality Management System for Medical Devices
4
+ version: 2.0
5
+ tone: formal
6
+ voice: passive-for-procedures
7
+ citation_style: clause-reference
8
+ placeholder_for_missing_refs: "[TO ADD REF]"
9
+ trace_types:
10
+ - derived-from
11
+ - implemented-by
12
+ - detailed-in
13
+ - mitigated-by
14
+ - verified-by
15
+ - validated-by
16
+ - referenced-in
17
+ - supersedes
18
+ requirement_levels:
19
+ shall: mandatory requirement
20
+ should: recommended
21
+ may: permitted
22
+ vocabulary:
23
+ - use: medical device
24
+ reject: [product, unit, item]
25
+ - use: quality management system
26
+ reject: [QMS, quality system]
27
+ - use: management representative
28
+ reject: [quality manager, QA lead]
29
+ - use: documented procedure
30
+ reject: [SOP, work instruction, procedure]
31
+ - use: quality objective
32
+ reject: [quality goal, quality target]
33
+ - use: nonconformity
34
+ reject: [defect, bug, issue, problem]
35
+ - use: corrective action
36
+ reject: [fix, resolution, remedy]
37
+ - use: preventive action
38
+ reject: [prevention, proactive fix]
39
+ - use: design and development
40
+ reject: [R&D, engineering, development]
41
+ - use: purchasing
42
+ reject: [procurement, sourcing, buying]
43
+ - use: traceability
44
+ reject: [tracking, trace]
45
+ - use: customer complaint
46
+ reject: [feedback, issue report, bug report]
47
+ - use: advisory notice
48
+ reject: [recall notice, safety alert]
49
+ ---
50
+
51
+ # Principles
52
+
53
+ - Auditable: every claim must be traceable to a documented source - a procedure ID, a record, a controlled form, or a regulatory clause. An ISO 13485 auditor should be able to follow any statement in the document back to its evidence.
54
+ - Procedural, not narrative: this is a quality system document. It describes what is done, by whom, and against what criteria. It does not tell a story.
55
+ - Controlled: every referenced document must be a controlled document with an ID, version, and effective date. Uncontrolled references invalidate the chain.
56
+
57
+ # General Rules
58
+
59
+ - Use the controlled vocabulary. ISO 13485 uses specific terms ("nonconformity", "corrective action", "documented procedure", "management representative") with specific meanings - do not substitute synonyms.
60
+ - Reference everything by ID and version. "See SOP-007 v3.2" is acceptable; "see the design control procedure" is not.
61
+ - Define before you use. Every abbreviation, role, metric, and form must be defined at first use.
62
+ - Distinguish "shall" (mandatory), "should" (recommended), and "may" (permitted). Reserve "shall" for actual ISO 13485 mandates.
63
+ - Avoid editorial language. "The supplier was thoroughly evaluated" is unauditable; "The supplier was evaluated against SUP-EVAL-001 v2 with the result documented in record SR-2026-014" is auditable.
64
+ - Never leave a section blank. If a clause requires content, the section must contain content or be removed.
65
+
66
+ # Terminology
67
+
68
+ | Use | Instead of | Why |
69
+ |---|---|---|
70
+ | Nonconformity | Defect, Bug, Issue, Problem | ISO 13485 defines "nonconformity" as the failure to meet a requirement. Use the controlled term. |
71
+ | Corrective action | Fix, Resolution, Remedy | Corrective action specifically addresses the cause of a detected nonconformity (clause 8.5.2). |
72
+ | Preventive action | Prevention, Proactive fix | Preventive action addresses potential nonconformities (clause 8.5.3) and is distinct from corrective action. |
73
+ | Documented procedure | SOP, Work instruction | ISO 13485 uses "documented procedure" as the formal term. |
74
+
75
+ # Framing: Describing a nonconformity
76
+
77
+ **Wrong:**
78
+
79
+ > We had an issue with the bonding step where some parts were defective and we fixed it.
80
+
81
+ **Correct:**
82
+
83
+ > Nonconformity NCR-2026-018 was raised against the bonding process on 2026-03-12. Root cause analysis (CAPA-2026-022) identified a deviation from BOND-WI-004 v2.1. Corrective action C-2026-022-01 was approved and implemented; effectiveness will be reviewed at the next batch release per CAPA-2026-022.
84
+
85
+ **Why:** the correct version uses controlled vocabulary, references controlled documents by ID and version, and shows the audit trail. The wrong version is narrative and unauditable.
86
+
87
+ # Document Type: quality-manual
88
+
89
+ Quality manual per clause 4.2.2.
90
+
91
+ ## Section: scope
92
+
93
+ Define the scope of the QMS clearly. State which products, processes, and sites are covered, and explicitly list any exclusions with justification per clause 1.2.
94
+
95
+ ## Section: quality-policy
96
+
97
+ State the quality policy as approved by top management. Reference the controlling document by ID and version.
98
+
99
+ ## Section: qms-processes
100
+
101
+ Describe the QMS processes, their sequence, and their interactions. Cross-reference the documented procedures by ID.
102
+
103
+ # Document Type: management-review
104
+
105
+ Management review per clause 5.6.
106
+
107
+ ## Section: review-input
108
+
109
+ List every input topic required by clause 5.6.2 (audits, feedback, complaints, monitoring data, status of CAPA, follow-up from previous reviews, regulatory changes, recommendations for improvement).
110
+
111
+ ## Section: review-output
112
+
113
+ Document decisions and actions per clause 5.6.3, with owners and target dates.
114
+
115
+ # Document Type: design-control
116
+
117
+ Design and development per clause 7.3.
118
+
119
+ ## Section: design-inputs
120
+
121
+ Capture user needs, intended use, regulatory requirements, applicable standards, and risk management outputs. Each input must be testable and traceable.
122
+
123
+ ## Section: design-outputs
124
+
125
+ Outputs must satisfy inputs, contain or reference acceptance criteria, identify essential characteristics for safe use, and be approved before release.
126
+
127
+ ## Section: design-verification
128
+
129
+ Demonstrate that design outputs meet design input requirements. Reference the verification protocol by ID and version.
130
+
131
+ ## Section: design-validation
132
+
133
+ Demonstrate that the device meets the user needs and intended use under defined operating conditions. Use production-equivalent units. Reference the validation protocol by ID and version.
134
+
135
+ ## Section: design-changes
136
+
137
+ Every change must be reviewed, verified, validated as appropriate, and approved before implementation. Maintain the change log.
138
+
139
+ # Document Type: risk-management
140
+
141
+ Risk management per clause 7.1, aligned with ISO 14971.
142
+
143
+ ## Section: hazard-identification
144
+
145
+ Identify hazards across the lifecycle. Include foreseeable misuse. Cross-reference the risk register by ID.
146
+
147
+ ## Section: risk-control
148
+
149
+ Apply controls in the order required by ISO 14971: inherently safe design, protective measures, information for safety. Document residual risk for each.
150
+
151
+ # Document Type: capa
152
+
153
+ CAPA process per clauses 8.5.2 and 8.5.3.
154
+
155
+ ## Section: root-cause-analysis
156
+
157
+ Use a structured technique (e.g. 5-Whys, fishbone, fault tree). State the technique used and its outcome - do not jump straight to corrective actions.
158
+
159
+ ## Section: effectiveness-review
160
+
161
+ Define how effectiveness will be measured, the timeframe, and the acceptance criteria before closing the CAPA.
162
+
163
+ # Document Type: supplier-management
164
+
165
+ Purchasing and supplier control per clause 7.4.
166
+
167
+ ## Section: supplier-evaluation
168
+
169
+ Document the evaluation criteria, the evaluation result, and the approval decision. Re-evaluate at defined intervals.
170
+
171
+ ## Section: incoming-inspection
172
+
173
+ State the acceptance activities for purchased product. Records must show what was inspected and the disposition.
174
+
175
+ # Submission Checklist
176
+
177
+ - Every claim is supported by a controlled document reference (ID + version)
178
+ - All controlled vocabulary terms are used correctly (nonconformity, corrective action, etc.)
179
+ - Roles are named and traceable to job descriptions or organisational records
180
+ - Every record referenced is identified by record ID
181
+ - Sections corresponding to mandatory ISO 13485 clauses are populated, not left blank
182
+ - Document is approved by the management representative before release
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "Design Specification Import",
3
+ "description": "Maps CSV rows to design-spec wiki pages. Links back to requirements and forward to tests.",
4
+ "page_type": "design-spec",
5
+ "id_column": "ID",
6
+ "title_column": "Title",
7
+ "detect_headers": ["design spec", "dds", "design detail", "module", "component"],
8
+ "mapping": {
9
+ "ID": "frontmatter.id",
10
+ "Title": "frontmatter.title",
11
+ "Description": "body.summary",
12
+ "Module": "body.module",
13
+ "Interface": "body.interface",
14
+ "Constraints": "body.constraints",
15
+ "Requirement": "traces.derived-from",
16
+ "Linked Requirement": "traces.derived-from",
17
+ "Test Case": "traces.verified-by",
18
+ "Verification": "traces.verified-by",
19
+ "Status": "frontmatter.tags"
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "Requirements Import",
3
+ "description": "Maps CSV rows to requirement wiki pages. Supports trace links to design specs and tests.",
4
+ "page_type": "requirement",
5
+ "id_column": "ID",
6
+ "title_column": "Title",
7
+ "detect_headers": ["requirement", "req-", "req id", "shall", "acceptance criteria"],
8
+ "mapping": {
9
+ "ID": "frontmatter.id",
10
+ "Title": "frontmatter.title",
11
+ "Description": "body.summary",
12
+ "Acceptance Criteria": "body.acceptance-criteria",
13
+ "Priority": "frontmatter.tags",
14
+ "Category": "frontmatter.tags",
15
+ "Source": "frontmatter.sources",
16
+ "Derived From": "traces.derived-from",
17
+ "Design Spec": "traces.detailed-in",
18
+ "Verification": "traces.verified-by",
19
+ "User Need": "traces.derived-from",
20
+ "Status": "frontmatter.tags"
21
+ }
22
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "Risk Register Import",
3
+ "description": "Maps CSV rows to hazard wiki pages with severity, probability, and risk control measures.",
4
+ "page_type": "hazard",
5
+ "id_column": "ID",
6
+ "title_column": "Hazard",
7
+ "detect_headers": ["hazard", "severity", "probability", "risk level", "risk control", "harm"],
8
+ "mapping": {
9
+ "ID": "frontmatter.id",
10
+ "Hazard": "frontmatter.title",
11
+ "Harm": "body.harm",
12
+ "Hazardous Situation": "body.hazardous-situation",
13
+ "Severity": "body.severity",
14
+ "Probability": "body.probability",
15
+ "Risk Level": "body.risk-level",
16
+ "Risk Control": "body.risk-control",
17
+ "Residual Risk": "body.residual-risk",
18
+ "Mitigation": "traces.mitigated-by",
19
+ "RMA": "traces.mitigated-by",
20
+ "Linked Requirement": "traces.implemented-by",
21
+ "Verification": "traces.verified-by",
22
+ "Status": "frontmatter.tags"
23
+ }
24
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "Test Cases Import",
3
+ "description": "Maps CSV rows to verification wiki pages. Links back to requirements and design specs.",
4
+ "page_type": "verification",
5
+ "id_column": "ID",
6
+ "title_column": "Title",
7
+ "detect_headers": ["test case", "test id", "expected result", "pass/fail", "test method", "verification"],
8
+ "mapping": {
9
+ "ID": "frontmatter.id",
10
+ "Title": "frontmatter.title",
11
+ "Description": "body.summary",
12
+ "Test Method": "body.test-method",
13
+ "Expected Result": "body.expected-result",
14
+ "Actual Result": "body.actual-result",
15
+ "Pass/Fail": "body.result",
16
+ "Requirement": "traces.derived-from",
17
+ "Design Spec": "traces.derived-from",
18
+ "DDS": "traces.derived-from",
19
+ "Status": "frontmatter.tags"
20
+ }
21
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "User Needs Import",
3
+ "description": "Maps CSV rows to user-need wiki pages. Each row becomes one page.",
4
+ "page_type": "user-need",
5
+ "id_column": "ID",
6
+ "title_column": "Title",
7
+ "detect_headers": ["user need", "un-", "need id", "stakeholder need"],
8
+ "mapping": {
9
+ "ID": "frontmatter.id",
10
+ "Title": "frontmatter.title",
11
+ "Description": "body.summary",
12
+ "Priority": "frontmatter.tags",
13
+ "Source": "frontmatter.sources",
14
+ "Acceptance Criteria": "body.acceptance-criteria",
15
+ "Rationale": "body.rationale",
16
+ "Linked Requirement": "traces.implemented-by",
17
+ "Status": "frontmatter.tags"
18
+ }
19
+ }