@records-fhir/validation-types 0.1.3 → 0.1.5
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.
- package/CHANGELOG.md +22 -0
- package/dist/fix-suggestions/catalog-core.d.ts +3 -0
- package/dist/fix-suggestions/catalog-core.d.ts.map +1 -0
- package/dist/fix-suggestions/catalog-core.js +415 -0
- package/dist/fix-suggestions/catalog-core.js.map +1 -0
- package/dist/fix-suggestions/catalog-invariants.d.ts +3 -0
- package/dist/fix-suggestions/catalog-invariants.d.ts.map +1 -0
- package/dist/fix-suggestions/catalog-invariants.js +299 -0
- package/dist/fix-suggestions/catalog-invariants.js.map +1 -0
- package/dist/fix-suggestions/catalog-misc.d.ts +3 -0
- package/dist/fix-suggestions/catalog-misc.d.ts.map +1 -0
- package/dist/fix-suggestions/catalog-misc.js +389 -0
- package/dist/fix-suggestions/catalog-misc.js.map +1 -0
- package/dist/fix-suggestions/catalog-reference-profile.d.ts +3 -0
- package/dist/fix-suggestions/catalog-reference-profile.d.ts.map +1 -0
- package/dist/fix-suggestions/catalog-reference-profile.js +201 -0
- package/dist/fix-suggestions/catalog-reference-profile.js.map +1 -0
- package/dist/fix-suggestions/fallbacks.d.ts +14 -0
- package/dist/fix-suggestions/fallbacks.d.ts.map +1 -0
- package/dist/fix-suggestions/fallbacks.js +121 -0
- package/dist/fix-suggestions/fallbacks.js.map +1 -0
- package/dist/fix-suggestions/types.d.ts +17 -0
- package/dist/fix-suggestions/types.d.ts.map +1 -0
- package/dist/fix-suggestions/types.js +3 -0
- package/dist/fix-suggestions/types.js.map +1 -0
- package/dist/fix-suggestions.d.ts +8 -28
- package/dist/fix-suggestions.d.ts.map +1 -1
- package/dist/fix-suggestions.js +14 -1413
- package/dist/fix-suggestions.js.map +1 -1
- package/dist/validation/defaults/base-settings.d.ts +150 -0
- package/dist/validation/defaults/base-settings.d.ts.map +1 -0
- package/dist/validation/defaults/base-settings.js +264 -0
- package/dist/validation/defaults/base-settings.js.map +1 -0
- package/dist/validation/defaults/ig-packages.d.ts +43 -0
- package/dist/validation/defaults/ig-packages.d.ts.map +1 -0
- package/dist/validation/defaults/ig-packages.js +43 -0
- package/dist/validation/defaults/ig-packages.js.map +1 -0
- package/dist/validation/defaults/ig-settings-factories.d.ts +19 -0
- package/dist/validation/defaults/ig-settings-factories.d.ts.map +1 -0
- package/dist/validation/defaults/ig-settings-factories.js +139 -0
- package/dist/validation/defaults/ig-settings-factories.js.map +1 -0
- package/dist/validation/defaults/terminology-defaults.d.ts +66 -0
- package/dist/validation/defaults/terminology-defaults.d.ts.map +1 -0
- package/dist/validation/defaults/terminology-defaults.js +221 -0
- package/dist/validation/defaults/terminology-defaults.js.map +1 -0
- package/dist/validation/dtos.d.ts +8 -2
- package/dist/validation/dtos.d.ts.map +1 -1
- package/dist/validation/dtos.js +18 -2
- package/dist/validation/dtos.js.map +1 -1
- package/dist/validation/index.d.ts +8 -3
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +4 -2
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/issue-identity.d.ts +22 -0
- package/dist/validation/issue-identity.d.ts.map +1 -0
- package/dist/validation/issue-identity.js +79 -0
- package/dist/validation/issue-identity.js.map +1 -0
- package/dist/validation/issue-provenance.d.ts +26 -0
- package/dist/validation/issue-provenance.d.ts.map +1 -0
- package/dist/validation/issue-provenance.js +73 -0
- package/dist/validation/issue-provenance.js.map +1 -0
- package/dist/validation/results.d.ts +3 -314
- package/dist/validation/results.d.ts.map +1 -1
- package/dist/validation/results.js +3 -5
- package/dist/validation/results.js.map +1 -1
- package/dist/validation/settings-defaults.d.ts +7 -264
- package/dist/validation/settings-defaults.d.ts.map +1 -1
- package/dist/validation/settings-defaults.js +6 -648
- package/dist/validation/settings-defaults.js.map +1 -1
- package/dist/validation/settings-schema.d.ts +78 -15
- package/dist/validation/settings-schema.d.ts.map +1 -1
- package/dist/validation/settings-schema.js +35 -1
- package/dist/validation/settings-schema.js.map +1 -1
- package/dist/validation/settings-terminology.d.ts +174 -0
- package/dist/validation/settings-terminology.d.ts.map +1 -0
- package/dist/validation/settings-terminology.js +7 -0
- package/dist/validation/settings-terminology.js.map +1 -0
- package/dist/validation/settings.d.ts +21 -170
- package/dist/validation/settings.d.ts.map +1 -1
- package/dist/validation/settings.js.map +1 -1
- package/dist/validation/validation-advanced-metrics.d.ts +314 -0
- package/dist/validation/validation-advanced-metrics.d.ts.map +1 -0
- package/dist/validation/validation-advanced-metrics.js +2 -0
- package/dist/validation/validation-advanced-metrics.js.map +1 -0
- package/package.json +1 -1
- package/dist/validation-settings.d.ts +0 -28
- package/dist/validation-settings.d.ts.map +0 -1
- package/dist/validation-settings.js +0 -52
- package/dist/validation-settings.js.map +0 -1
- package/dist/validation-types.d.ts +0 -18
- package/dist/validation-types.d.ts.map +0 -1
- package/dist/validation-types.js +0 -16
- package/dist/validation-types.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,28 @@ captures changes that affect type-package consumers directly.
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [0.1.5] — 2026-06-23
|
|
15
|
+
|
|
16
|
+
Released alongside `@records-fhir/validator` 0.1.14.
|
|
17
|
+
|
|
18
|
+
### Surface
|
|
19
|
+
|
|
20
|
+
- Published the issue-identity helper exports, including
|
|
21
|
+
`computeValidationIssueId`, required by the validator runtime and CLI.
|
|
22
|
+
|
|
23
|
+
## [0.1.4] — 2026-05-28
|
|
24
|
+
|
|
25
|
+
Released alongside `@records-fhir/validator` 0.1.10.
|
|
26
|
+
|
|
27
|
+
### Surface
|
|
28
|
+
|
|
29
|
+
- Normalized profile source settings and defaults used by the validator runtime
|
|
30
|
+
and UI settings snapshots.
|
|
31
|
+
- Kept the current EPS preview package visible in the default package source
|
|
32
|
+
set while preserving the canonical xTeHR reference.
|
|
33
|
+
- Updated schema coverage so downstream consumers can validate the same
|
|
34
|
+
settings shape used by the restored HL7 and MII parity gates.
|
|
35
|
+
|
|
14
36
|
## [0.1.3] — 2026-05-26
|
|
15
37
|
|
|
16
38
|
Released alongside `@records-fhir/validator` 0.1.9.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-core.d.ts","sourceRoot":"","sources":["../../src/fix-suggestions/catalog-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAgatD,CAAC"}
|
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
export const CATALOG_CORE = {
|
|
2
|
+
// -------------------------------------------------------------------------
|
|
3
|
+
// Terminology
|
|
4
|
+
// -------------------------------------------------------------------------
|
|
5
|
+
'terminology-binding-required': {
|
|
6
|
+
why: 'Required bindings must use codes from the specified ValueSet for interoperability.',
|
|
7
|
+
fix: 'Replace the code with one from the required ValueSet. Check the ValueSet definition for allowed codes.',
|
|
8
|
+
example: 'Use "active" instead of "Active" for Patient.status',
|
|
9
|
+
specUrl: 'https://www.hl7.org/fhir/terminologies.html#required',
|
|
10
|
+
patch: { action: 'replace', path: '{{fieldPath}}', value: '(use a code from {{valueSet}})' },
|
|
11
|
+
},
|
|
12
|
+
'terminology-binding-extensible': {
|
|
13
|
+
why: 'Extensible bindings prefer codes from the ValueSet, but allow extensions for missing concepts.',
|
|
14
|
+
fix: 'If your concept exists in the ValueSet, use it. Otherwise, document why a custom code is needed.',
|
|
15
|
+
specUrl: 'https://www.hl7.org/fhir/terminologies.html#extensible',
|
|
16
|
+
},
|
|
17
|
+
'terminology-binding-preferred': {
|
|
18
|
+
why: 'Preferred bindings recommend using codes from the ValueSet for better interoperability.',
|
|
19
|
+
fix: 'Consider using a code from the preferred ValueSet. Custom codes are allowed but reduce consistency.',
|
|
20
|
+
specUrl: 'https://www.hl7.org/fhir/terminologies.html#preferred',
|
|
21
|
+
},
|
|
22
|
+
'terminology-binding-example': {
|
|
23
|
+
why: 'Example bindings suggest possible codes but impose no constraints.',
|
|
24
|
+
fix: 'This is informational only. Your code is valid, but check if the example codes better fit your use case.',
|
|
25
|
+
},
|
|
26
|
+
'terminology-binding-required-code': {
|
|
27
|
+
why: 'This primitive code element must use a value from the required binding.',
|
|
28
|
+
fix: 'Use one of the allowed code values. Check the element definition for the list.',
|
|
29
|
+
example: 'For status: use "active", "inactive", or "entered-in-error"',
|
|
30
|
+
},
|
|
31
|
+
'terminology-binding-extensible-code': {
|
|
32
|
+
why: 'Prefer standard codes for primitive code elements to improve interoperability.',
|
|
33
|
+
fix: 'If a standard code fits, use it. Document why a custom code is needed if not.',
|
|
34
|
+
},
|
|
35
|
+
'terminology-binding-preferred-code': {
|
|
36
|
+
why: 'Preferred codes suggest standard values for better consistency.',
|
|
37
|
+
fix: 'Consider using the preferred code if it fits. This is informational.',
|
|
38
|
+
},
|
|
39
|
+
'terminology-binding-example-code': {
|
|
40
|
+
why: 'Example codes show typical usage but are not required.',
|
|
41
|
+
fix: 'This is informational only. Your code is valid.',
|
|
42
|
+
},
|
|
43
|
+
'terminology-binding-missing': {
|
|
44
|
+
why: 'A required coded element is missing its code value.',
|
|
45
|
+
fix: 'Add the required code from the bound ValueSet.',
|
|
46
|
+
},
|
|
47
|
+
'terminology-valueset-error': {
|
|
48
|
+
why: 'Could not validate against the ValueSet (lookup failed).',
|
|
49
|
+
fix: 'Check terminology server connectivity. The code may still be valid.',
|
|
50
|
+
},
|
|
51
|
+
'terminology-code-invalid': {
|
|
52
|
+
why: 'The code is not valid for the declared code system. For UCUM quantities, the code must be a machine-readable UCUM expression, not just the display text.',
|
|
53
|
+
fix: 'Replace the code with a valid code from the declared system. If the issue contains a suggestedCode, use that value; for pH this is typically "[pH]".',
|
|
54
|
+
example: 'For system "http://unitsofmeasure.org", use code "[pH]" instead of "pH".',
|
|
55
|
+
specUrl: 'https://www.hl7.org/fhir/terminologies.html',
|
|
56
|
+
patch: { action: 'replace', path: '{{fieldPath}}', value: '{{suggestedCode}}' },
|
|
57
|
+
},
|
|
58
|
+
'terminology-display-mismatch': {
|
|
59
|
+
why: 'The code may be valid, but the display text does not match the terminology server display for that code.',
|
|
60
|
+
fix: 'Replace the display with an accepted display from the terminology server, or omit display and let consumers render the code.',
|
|
61
|
+
example: 'Keep system/code stable and update only Coding.display.',
|
|
62
|
+
specUrl: 'https://www.hl7.org/fhir/datatypes.html#Coding',
|
|
63
|
+
},
|
|
64
|
+
'terminology-coding-system-valueset': {
|
|
65
|
+
why: 'Coding.system must identify the CodeSystem that defines the code. A ValueSet URL describes an allowed set of codes and is not valid as Coding.system.',
|
|
66
|
+
fix: 'Replace Coding.system with the canonical CodeSystem URL for the selected code. Keep the ValueSet only in profile bindings or documentation.',
|
|
67
|
+
example: 'Use "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus" instead of "http://hl7.org/fhir/ValueSet/marital-status".',
|
|
68
|
+
specUrl: 'https://www.hl7.org/fhir/datatypes.html#Coding',
|
|
69
|
+
patch: { action: 'replace', path: '{{fieldPath}}', value: '(use the code system URL for this code)' },
|
|
70
|
+
},
|
|
71
|
+
// -------------------------------------------------------------------------
|
|
72
|
+
// Structural
|
|
73
|
+
// -------------------------------------------------------------------------
|
|
74
|
+
'structural-required-element-missing': {
|
|
75
|
+
why: 'Required elements (min=1) must be present for the resource to be valid.',
|
|
76
|
+
fix: 'Add the missing element with a valid value.',
|
|
77
|
+
example: 'Add Patient.name: [{ "family": "Doe", "given": ["John"] }]',
|
|
78
|
+
patch: { action: 'add', path: '{{fieldPath}}', value: '(required — see element definition for type)' },
|
|
79
|
+
},
|
|
80
|
+
'structural-cardinality-min': {
|
|
81
|
+
why: 'The element requires a minimum number of values.',
|
|
82
|
+
fix: 'Add more values to meet the minimum cardinality requirement.',
|
|
83
|
+
},
|
|
84
|
+
'structural-cardinality-max': {
|
|
85
|
+
why: 'The element has exceeded the maximum allowed values.',
|
|
86
|
+
fix: 'Remove excess values or consolidate them as appropriate.',
|
|
87
|
+
},
|
|
88
|
+
'structural-type-mismatch': {
|
|
89
|
+
why: 'The value type must match what the FHIR specification expects.',
|
|
90
|
+
fix: 'Change the value to the correct type. Check the element definition for allowed types.',
|
|
91
|
+
example: 'birthDate should be "1990-01-15" (string), not 1990 (number)',
|
|
92
|
+
patch: { action: 'replace', path: '{{fieldPath}}', value: '(change to type {{expectedType}})' },
|
|
93
|
+
},
|
|
94
|
+
'structural-invalid-json': {
|
|
95
|
+
why: 'The resource cannot be parsed as valid JSON.',
|
|
96
|
+
fix: 'Check for syntax errors: missing quotes, commas, brackets, or trailing commas.',
|
|
97
|
+
},
|
|
98
|
+
'structural-unknown-element': {
|
|
99
|
+
why: 'This element is not defined in the FHIR specification for this resource type.',
|
|
100
|
+
fix: 'Remove the unknown element, or use an extension if custom data is needed.',
|
|
101
|
+
},
|
|
102
|
+
'structural-resource-type-mismatch': {
|
|
103
|
+
why: 'The resourceType does not match the expected type for this context.',
|
|
104
|
+
fix: 'Correct the resourceType field to match the expected type.',
|
|
105
|
+
},
|
|
106
|
+
'structural-missing-resource-type': {
|
|
107
|
+
why: 'Every FHIR resource must have a resourceType field.',
|
|
108
|
+
fix: 'Add resourceType at the root: { "resourceType": "Patient", ... }',
|
|
109
|
+
patch: { action: 'add', path: 'resourceType', value: '"{{resourceType}}"' },
|
|
110
|
+
},
|
|
111
|
+
'structural-cardinality-violation': {
|
|
112
|
+
why: 'The element count violates the cardinality constraint.',
|
|
113
|
+
fix: 'Add or remove elements to meet the min/max requirements.',
|
|
114
|
+
},
|
|
115
|
+
'structural-validation-error': {
|
|
116
|
+
why: 'Structural validation failed for an unspecified reason.',
|
|
117
|
+
fix: 'Check the resource structure against the FHIR specification.',
|
|
118
|
+
},
|
|
119
|
+
'structural-empty-array': {
|
|
120
|
+
why: 'FHIR arrays must contain at least one element if present.',
|
|
121
|
+
fix: 'Remove the empty array or add at least one entry.',
|
|
122
|
+
},
|
|
123
|
+
'structural-invalid-id': {
|
|
124
|
+
why: 'Resource id must match the FHIR id pattern: [A-Za-z0-9\\-._]{1,64}.',
|
|
125
|
+
fix: 'Use only alphanumeric characters, hyphens, dots, and underscores (max 64 chars).',
|
|
126
|
+
},
|
|
127
|
+
'structural-attachment-size-mismatch': {
|
|
128
|
+
why: 'Attachment.size does not match the actual byte count of Attachment.data.',
|
|
129
|
+
fix: 'Recalculate size from the decoded base64 data length and set it correctly.',
|
|
130
|
+
},
|
|
131
|
+
'structural-bundle-fullurl-duplicate': {
|
|
132
|
+
why: 'Each Bundle entry must have a unique fullUrl for unambiguous reference resolution.',
|
|
133
|
+
fix: 'Assign a unique fullUrl to each entry (use urn:uuid for temporary IDs).',
|
|
134
|
+
},
|
|
135
|
+
'structural-bundle-fullurl-invalid': {
|
|
136
|
+
why: 'The fullUrl value is not a valid URI.',
|
|
137
|
+
fix: 'Use an absolute URL (https://...) or urn:uuid:... format.',
|
|
138
|
+
},
|
|
139
|
+
'structural-bundle-fullurl-not-absolute': {
|
|
140
|
+
why: 'Bundle entry fullUrl must be an absolute URI, not a relative path.',
|
|
141
|
+
fix: 'Prefix with the server base URL or use a urn:uuid identifier.',
|
|
142
|
+
},
|
|
143
|
+
'structural-hapi-error': {
|
|
144
|
+
why: 'The HAPI FHIR validator reported an error.',
|
|
145
|
+
fix: 'Review the error details and fix the indicated issue.',
|
|
146
|
+
},
|
|
147
|
+
'structural-invalid-uri': {
|
|
148
|
+
why: 'The URI format is invalid per RFC 3986.',
|
|
149
|
+
fix: 'Use a valid URI format with proper scheme and encoding.',
|
|
150
|
+
example: 'https://example.org/fhir or urn:uuid:...',
|
|
151
|
+
},
|
|
152
|
+
'validation-error': {
|
|
153
|
+
why: 'General validation error.',
|
|
154
|
+
fix: 'Review the error message for specific guidance.',
|
|
155
|
+
},
|
|
156
|
+
// -------------------------------------------------------------------------
|
|
157
|
+
// Metadata
|
|
158
|
+
// -------------------------------------------------------------------------
|
|
159
|
+
'metadata-profile-wrong-resource-type': {
|
|
160
|
+
why: 'The declared profile is for a different resource type.',
|
|
161
|
+
fix: 'Use a profile that matches the resource type, or remove the meta.profile entry.',
|
|
162
|
+
},
|
|
163
|
+
'metadata-source-invalid-format': {
|
|
164
|
+
why: 'meta.source should be a valid URI identifying the data origin.',
|
|
165
|
+
fix: 'Use a proper URI format (e.g., urn:uuid:... or https://...).',
|
|
166
|
+
},
|
|
167
|
+
'metadata-version-id-invalid-type': {
|
|
168
|
+
why: 'versionId must be a string per FHIR specification.',
|
|
169
|
+
fix: 'Convert versionId to string format.',
|
|
170
|
+
},
|
|
171
|
+
'metadata-version-id-empty': {
|
|
172
|
+
why: 'versionId tracks resource versions for conflict detection (optimistic locking).',
|
|
173
|
+
fix: 'Let the FHIR server assign versionId on CREATE/UPDATE, or use a positive integer.',
|
|
174
|
+
example: 'meta: { versionId: "1" }',
|
|
175
|
+
},
|
|
176
|
+
'metadata-version-id-invalid-format': {
|
|
177
|
+
why: 'versionId must match FHIR id pattern (alphanumeric, hyphens, up to 64 chars).',
|
|
178
|
+
fix: 'Use a simple numeric or alphanumeric version identifier.',
|
|
179
|
+
},
|
|
180
|
+
'metadata-version-id-timestamp-pattern': {
|
|
181
|
+
why: 'versionId looks like a timestamp which may cause confusion.',
|
|
182
|
+
fix: 'Consider using sequential integers for clarity. This is informational only.',
|
|
183
|
+
},
|
|
184
|
+
'metadata-version-id-non-positive': {
|
|
185
|
+
why: 'Numeric versionIds should typically start at 1 and increment.',
|
|
186
|
+
fix: 'Use positive integers starting from 1.',
|
|
187
|
+
},
|
|
188
|
+
'metadata-version-id-special-chars-only': {
|
|
189
|
+
why: 'versionId with only special characters may be hard to read/use.',
|
|
190
|
+
fix: 'Consider a more readable format like sequential numbers.',
|
|
191
|
+
},
|
|
192
|
+
'metadata-version-id-etag-format': {
|
|
193
|
+
why: 'ETag format (W/"...") is for HTTP headers, not versionId directly.',
|
|
194
|
+
fix: 'Use just the version number without ETag wrapper.',
|
|
195
|
+
},
|
|
196
|
+
'metadata-version-id-same-as-id': {
|
|
197
|
+
why: 'versionId and resource id serve different purposes.',
|
|
198
|
+
fix: 'Use a separate version identifier, typically sequential numbers.',
|
|
199
|
+
},
|
|
200
|
+
'metadata-version-id-very-high': {
|
|
201
|
+
why: 'Unusually high versionId may indicate timestamp-based versioning.',
|
|
202
|
+
fix: 'This is informational. Verify versioning strategy is intentional.',
|
|
203
|
+
},
|
|
204
|
+
'metadata-last-updated-invalid-type': {
|
|
205
|
+
why: 'lastUpdated must be a string in instant format.',
|
|
206
|
+
fix: 'Convert to string format: YYYY-MM-DDTHH:MM:SS.sss+ZZ:ZZ',
|
|
207
|
+
},
|
|
208
|
+
'metadata-last-updated-missing-timezone': {
|
|
209
|
+
why: 'FHIR instant type requires timezone for unambiguous timestamp interpretation.',
|
|
210
|
+
fix: 'Add timezone suffix. Use Z for UTC or +/-HH:MM for local time.',
|
|
211
|
+
example: '2025-01-10T18:00:00Z or 2025-01-10T19:00:00+01:00',
|
|
212
|
+
specUrl: 'https://www.hl7.org/fhir/datatypes.html#instant',
|
|
213
|
+
patch: { action: 'replace', path: 'meta.lastUpdated', value: '"{{actualValue}}Z"' },
|
|
214
|
+
},
|
|
215
|
+
'metadata-last-updated-invalid-format': {
|
|
216
|
+
why: 'lastUpdated must be a valid FHIR instant (ISO 8601 with timezone).',
|
|
217
|
+
fix: 'Use format: YYYY-MM-DDTHH:MM:SS.sssZ or YYYY-MM-DDTHH:MM:SS+ZZ:ZZ',
|
|
218
|
+
},
|
|
219
|
+
'metadata-last-updated-non-utc': {
|
|
220
|
+
why: 'Non-UTC timezone is valid but may complicate timestamp comparison.',
|
|
221
|
+
fix: 'This is informational. Consider using UTC (Z) for consistency.',
|
|
222
|
+
},
|
|
223
|
+
'metadata-last-updated-missing-seconds': {
|
|
224
|
+
why: 'Seconds precision provides more accurate update timing.',
|
|
225
|
+
fix: 'Include seconds in timestamp. This is informational.',
|
|
226
|
+
},
|
|
227
|
+
'metadata-last-updated-future': {
|
|
228
|
+
why: 'lastUpdated should reflect when the resource was last modified on the server.',
|
|
229
|
+
fix: 'Verify the timestamp source. Let the server manage lastUpdated if possible.',
|
|
230
|
+
},
|
|
231
|
+
'metadata-last-updated-old': {
|
|
232
|
+
why: 'Very old lastUpdated may indicate stale or migrated data.',
|
|
233
|
+
fix: 'Verify this is intentional. Consider updating if data was recently modified.',
|
|
234
|
+
},
|
|
235
|
+
'metadata-last-updated-unix-epoch': {
|
|
236
|
+
why: 'Timestamp near Unix epoch (1970-01-01) is likely a default/error.',
|
|
237
|
+
fix: 'Set correct lastUpdated or let server manage it.',
|
|
238
|
+
},
|
|
239
|
+
'metadata-last-updated-at-midnight': {
|
|
240
|
+
why: 'Exact midnight may indicate date-only data converted to instant.',
|
|
241
|
+
fix: 'Include actual time if available for better precision.',
|
|
242
|
+
},
|
|
243
|
+
'metadata-tag-missing-code': {
|
|
244
|
+
why: 'Tags are more useful for filtering and categorization when they include a code.',
|
|
245
|
+
fix: 'Add a code value to the tag: { system: "...", code: "my-tag" }',
|
|
246
|
+
},
|
|
247
|
+
'metadata-tag-invalid-system-uri': {
|
|
248
|
+
why: 'Tag system should be a valid URI for consistency.',
|
|
249
|
+
fix: 'Use a proper URI format (e.g., http://example.org/tags).',
|
|
250
|
+
},
|
|
251
|
+
'metadata-tag-invalid-array': {
|
|
252
|
+
why: 'meta.tag must be an array of Coding elements.',
|
|
253
|
+
fix: 'Wrap tag in array: meta: { tag: [{ system: "...", code: "..." }] }',
|
|
254
|
+
},
|
|
255
|
+
'metadata-tag-invalid-object': {
|
|
256
|
+
why: 'Each tag must be a valid Coding object.',
|
|
257
|
+
fix: 'Use object format: { system: "...", code: "...", display: "..." }',
|
|
258
|
+
},
|
|
259
|
+
'metadata-tag-missing-system-code': {
|
|
260
|
+
why: 'Tags should have both system and code for unambiguous identification.',
|
|
261
|
+
fix: 'Add system URI and code to the tag.',
|
|
262
|
+
},
|
|
263
|
+
'metadata-tag-invalid-system-type': {
|
|
264
|
+
why: 'Tag system must be a string URI.',
|
|
265
|
+
fix: 'Convert system to string format.',
|
|
266
|
+
},
|
|
267
|
+
'metadata-tag-code-without-system': {
|
|
268
|
+
why: 'Tag code without system may be ambiguous.',
|
|
269
|
+
fix: 'Add a system URI to identify the code\'s namespace.',
|
|
270
|
+
},
|
|
271
|
+
'metadata-source-empty': {
|
|
272
|
+
why: 'Empty source provides no provenance information.',
|
|
273
|
+
fix: 'Add a meaningful source URI or remove the element.',
|
|
274
|
+
},
|
|
275
|
+
'metadata-source-too-long': {
|
|
276
|
+
why: 'Excessively long source may indicate embedded data.',
|
|
277
|
+
fix: 'Use a concise URI identifier, not embedded content.',
|
|
278
|
+
},
|
|
279
|
+
'metadata-source-localhost': {
|
|
280
|
+
why: 'Localhost source won\'t resolve in other environments.',
|
|
281
|
+
fix: 'Use a proper, resolvable URI for production data.',
|
|
282
|
+
},
|
|
283
|
+
'metadata-source-looks-like-reference': {
|
|
284
|
+
why: 'Source should be a URI, not a FHIR reference format.',
|
|
285
|
+
fix: 'Use URI format (e.g., urn:uuid:... or https://...).',
|
|
286
|
+
},
|
|
287
|
+
'metadata-source-relative-uri': {
|
|
288
|
+
why: 'Relative URIs may be ambiguous without a base.',
|
|
289
|
+
fix: 'Use absolute URI for unambiguous source identification.',
|
|
290
|
+
},
|
|
291
|
+
'metadata-source-invalid-type': {
|
|
292
|
+
why: 'Source must be a string per FHIR specification.',
|
|
293
|
+
fix: 'Convert source to string format.',
|
|
294
|
+
},
|
|
295
|
+
'metadata-source-validation-error': {
|
|
296
|
+
why: 'Source validation failed for an unspecified reason.',
|
|
297
|
+
fix: 'Check source format and ensure it\'s a valid URI.',
|
|
298
|
+
},
|
|
299
|
+
'metadata-tag-duplicate': {
|
|
300
|
+
why: 'Duplicate tags are redundant and waste space.',
|
|
301
|
+
fix: 'Remove duplicate tag entries from meta.tag.',
|
|
302
|
+
},
|
|
303
|
+
'metadata-tag-short-display': {
|
|
304
|
+
why: 'Very short display may not be helpful to users.',
|
|
305
|
+
fix: 'Consider a more descriptive display value. This is informational.',
|
|
306
|
+
},
|
|
307
|
+
'metadata-tag-code-as-display': {
|
|
308
|
+
why: 'Using code as display doesn\'t add human-readable value.',
|
|
309
|
+
fix: 'Consider adding a meaningful human-readable display.',
|
|
310
|
+
},
|
|
311
|
+
'metadata-tag-long-display': {
|
|
312
|
+
why: 'Very long display may cause UI issues.',
|
|
313
|
+
fix: 'Consider shortening display. Use description for details.',
|
|
314
|
+
},
|
|
315
|
+
'metadata-tag-invalid-display-type': {
|
|
316
|
+
why: 'Tag display must be a string.',
|
|
317
|
+
fix: 'Convert display to string format.',
|
|
318
|
+
},
|
|
319
|
+
'metadata-profile-invalid-array': {
|
|
320
|
+
why: 'meta.profile must be an array of canonical URLs.',
|
|
321
|
+
fix: 'Wrap profile in array: meta: { profile: ["http://..."] }',
|
|
322
|
+
},
|
|
323
|
+
'metadata-profile-invalid-type': {
|
|
324
|
+
why: 'Each profile entry must be a string canonical URL.',
|
|
325
|
+
fix: 'Convert profile to string URL format.',
|
|
326
|
+
},
|
|
327
|
+
'metadata-profile-not-accessible': {
|
|
328
|
+
why: 'Profile URL cannot be accessed or resolved.',
|
|
329
|
+
fix: 'Verify URL is correct. Install the package if needed.',
|
|
330
|
+
},
|
|
331
|
+
'metadata-profile-resource-type-mismatch': {
|
|
332
|
+
why: 'Profile is for a different resource type.',
|
|
333
|
+
fix: 'Use a profile that matches this resource type.',
|
|
334
|
+
},
|
|
335
|
+
'metadata-chronological-order-violation': {
|
|
336
|
+
why: 'Timestamps should be in logical chronological order.',
|
|
337
|
+
fix: 'Verify lastUpdated is not before creation-related timestamps.',
|
|
338
|
+
},
|
|
339
|
+
'metadata-identical-timestamps': {
|
|
340
|
+
why: 'Multiple timestamps with identical values may indicate copy/paste.',
|
|
341
|
+
fix: 'Verify timestamps are correct. This is informational.',
|
|
342
|
+
},
|
|
343
|
+
'metadata-version-id-validation-error': {
|
|
344
|
+
why: 'versionId validation failed for an unspecified reason.',
|
|
345
|
+
fix: 'Check versionId format. Let server manage if unsure.',
|
|
346
|
+
},
|
|
347
|
+
'metadata-last-updated-validation-error': {
|
|
348
|
+
why: 'lastUpdated validation failed for an unspecified reason.',
|
|
349
|
+
fix: 'Check timestamp format. Let server manage if unsure.',
|
|
350
|
+
},
|
|
351
|
+
'metadata-security-missing-system': {
|
|
352
|
+
why: 'Security labels require a system to identify the code\'s origin.',
|
|
353
|
+
fix: 'Add a system URI from a recognized security vocabulary.',
|
|
354
|
+
specUrl: 'https://www.hl7.org/fhir/security-labels.html',
|
|
355
|
+
},
|
|
356
|
+
'metadata-security-missing-code': {
|
|
357
|
+
why: 'Security labels require a code to specify the security classification.',
|
|
358
|
+
fix: 'Add a code from the specified security vocabulary.',
|
|
359
|
+
},
|
|
360
|
+
'metadata-security-invalid-system': {
|
|
361
|
+
why: 'Security system should be a valid URI.',
|
|
362
|
+
fix: 'Use a proper URI format for the security vocabulary.',
|
|
363
|
+
},
|
|
364
|
+
'metadata-profile-invalid-url': {
|
|
365
|
+
why: 'Profile URLs should be valid canonical URLs.',
|
|
366
|
+
fix: 'Use the full canonical URL from the profile\'s StructureDefinition.',
|
|
367
|
+
},
|
|
368
|
+
'metadata-profile-duplicate': {
|
|
369
|
+
why: 'Declaring the same profile multiple times is redundant.',
|
|
370
|
+
fix: 'Remove duplicate profile entries from meta.profile.',
|
|
371
|
+
},
|
|
372
|
+
'metadata-missing-meta': {
|
|
373
|
+
why: 'The meta element provides important resource metadata.',
|
|
374
|
+
fix: 'Add meta with at least profile for profiled resources.',
|
|
375
|
+
patch: { action: 'add', path: 'meta', value: '{ "profile": ["{{profileUrl}}"] }' },
|
|
376
|
+
},
|
|
377
|
+
'metadata-security-invalid-array': {
|
|
378
|
+
why: 'meta.security must be an array of Coding elements.',
|
|
379
|
+
fix: 'Wrap security in array: meta: { security: [{ system: "...", code: "..." }] }',
|
|
380
|
+
},
|
|
381
|
+
'metadata-security-invalid-object': {
|
|
382
|
+
why: 'Each security label must be a valid Coding object.',
|
|
383
|
+
fix: 'Use object format: { system: "...", code: "...", display: "..." }',
|
|
384
|
+
},
|
|
385
|
+
'metadata-security-invalid-code-type': {
|
|
386
|
+
why: 'Security code must be a string.',
|
|
387
|
+
fix: 'Convert code to string format.',
|
|
388
|
+
},
|
|
389
|
+
'metadata-security-invalid-display-type': {
|
|
390
|
+
why: 'Security display must be a string.',
|
|
391
|
+
fix: 'Convert display to string format.',
|
|
392
|
+
},
|
|
393
|
+
'metadata-security-duplicate': {
|
|
394
|
+
why: 'Duplicate security labels are redundant.',
|
|
395
|
+
fix: 'Remove duplicate security label entries.',
|
|
396
|
+
},
|
|
397
|
+
'metadata-security-missing-display': {
|
|
398
|
+
why: 'Display improves human readability of security labels.',
|
|
399
|
+
fix: 'Add a human-readable display name for the security code.',
|
|
400
|
+
},
|
|
401
|
+
'metadata-security-unknown-code': {
|
|
402
|
+
why: 'Unrecognized security code may not be processed correctly.',
|
|
403
|
+
fix: 'Use standard codes from the security vocabulary.',
|
|
404
|
+
specUrl: 'https://www.hl7.org/fhir/valueset-security-labels.html',
|
|
405
|
+
},
|
|
406
|
+
'metadata-security-unknown-system': {
|
|
407
|
+
why: 'Unrecognized security system may indicate a typo or custom vocabulary.',
|
|
408
|
+
fix: 'Use standard system URIs for security labels.',
|
|
409
|
+
},
|
|
410
|
+
'metadata-invalid-meta-type': {
|
|
411
|
+
why: 'meta must be a valid Meta object.',
|
|
412
|
+
fix: 'Ensure meta is an object with valid FHIR Meta properties.',
|
|
413
|
+
},
|
|
414
|
+
};
|
|
415
|
+
//# sourceMappingURL=catalog-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-core.js","sourceRoot":"","sources":["../../src/fix-suggestions/catalog-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-invariants.d.ts","sourceRoot":"","sources":["../../src/fix-suggestions/catalog-invariants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAgT5D,CAAC"}
|