@cosyte/astm 0.1.1 → 0.1.3
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 +181 -7
- package/LICENSE +1 -1
- package/README.md +38 -711
- package/TRADEMARKS.md +30 -0
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +21 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,13 +1,188 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 0.1.3
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
Versions and publishing are managed with [Changesets](https://github.com/changesets/changesets);
|
|
8
|
-
this file is maintained by hand (Changesets handles the version bump and publish only).
|
|
5
|
+
### Patch Changes
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
- fbebdf2: Checking whether a result value is numeric, the check behind the units-absent warning, now takes time linear in the value's length; a value padded with a long run of spaces held the parser for seconds (about 3.5 at 50,000 spaces), and the time grew with the square of the run.
|
|
8
|
+
|
|
9
|
+
Every value is classified exactly as before, so the same results warn.
|
|
10
|
+
|
|
11
|
+
## 0.1.2
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- 93c5774: The README follows our shared layout, with Support and Security sections and the Node.js versions CI tests (22, 24, and 26), and at a fifth of its former length it fits well inside npm's README limit. Its API tour and its coverage and compatibility notes moved, unchanged, to two pages on docs.cosyte.com/astm: "The API, layer by layer" and "Coverage and compatibility". No code, API, or behavior changes.
|
|
16
|
+
|
|
17
|
+
## 0.1.1
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Published through npm trusted publishing, with provenance.
|
|
22
|
+
|
|
23
|
+
## 0.1.0
|
|
24
|
+
|
|
25
|
+
### Minor Changes
|
|
26
|
+
|
|
27
|
+
- **One date conversion surface across the @cosyte parsers.** `toObject`, `toISO` and `toDate` read a
|
|
28
|
+
parsed ASTM date the same way the sibling parsers do. `toObject` returns only the components the
|
|
29
|
+
value stated, and `toISO` appends no offset, because ASTM states none. `toDate` returns a `Date` only
|
|
30
|
+
when you pass `assumeOffsetMinutes`: an analyzer's timestamp is local to the analyzer.
|
|
31
|
+
- **A LIVD catalog records where it came from.** `defineLivdCatalog` takes an optional second argument
|
|
32
|
+
(publisher, publication version, LOINC version, LOINC copyright), and every annotation carries the
|
|
33
|
+
catalog's LOINC version, so a mapping can be reproduced. A catalog with no LOINC version still
|
|
34
|
+
builds and raises one `ASTM_LIVD_CATALOG_NO_LOINC_VERSION` warning.
|
|
35
|
+
- **Reported units can choose between candidate LOINCs.** A LIVD entry can carry
|
|
36
|
+
`representativeUnit`, `vendorSpecimenDescription` and `vendorResultDescription`. When one vendor
|
|
37
|
+
code maps to several LOINCs, the candidate whose unit exactly equals the reported unit is answered
|
|
38
|
+
`mapped`. The comparison is verbatim and case sensitive, not UCUM, and every unit-selected answer
|
|
39
|
+
says so. No match, or more than one, is still `ambiguous`.
|
|
40
|
+
- **Flags and statuses name the vocabulary they were graded against.** An abnormal flag carries the
|
|
41
|
+
code system and version it was compared with, and `HU` and `LU` are now recognized. A result status
|
|
42
|
+
says that no citable published source binds its letters, rather than implying one.
|
|
43
|
+
- **One deliberate break from 0.0.x**, in the LIVD mapping and in what `primaryCode()` returns:
|
|
44
|
+
a populated first component of the Universal Test ID is no longer reported as a LOINC, and
|
|
45
|
+
`primaryCode()` returns the vendor local code and nothing else. The hand-written entries below and
|
|
46
|
+
the [0.1.0 release notes](https://github.com/cosyte/astm/releases/tag/v0.1.0) give the migration.
|
|
47
|
+
|
|
48
|
+
## 0.0.22
|
|
49
|
+
|
|
50
|
+
### Patch Changes
|
|
51
|
+
|
|
52
|
+
- Gate the two-file contract between `CLAUDE.md` and the agent notes.
|
|
53
|
+
- Read the bytes git carries in the PHI sweep, as a union with the working-tree walk.
|
|
54
|
+
|
|
55
|
+
## 0.0.21
|
|
56
|
+
|
|
57
|
+
### Patch Changes
|
|
58
|
+
|
|
59
|
+
- Correct two false claims the contested-alignment codes rested on, both on consumer surfaces.
|
|
60
|
+
- Close the three measurement holes the contested-alignment claim corrections left behind.
|
|
61
|
+
|
|
62
|
+
## 0.0.20
|
|
63
|
+
|
|
64
|
+
### Patch Changes
|
|
65
|
+
|
|
66
|
+
- Read a stream embedded as a source string literal in the PHI commit-gate, and refuse a sweep that did not observe its corpus.
|
|
67
|
+
|
|
68
|
+
## 0.0.19
|
|
69
|
+
|
|
70
|
+
### Patch Changes
|
|
71
|
+
|
|
72
|
+
- Report a contested escape alignment whose tail this reader cannot read, not only one it cannot consume.
|
|
73
|
+
- The README lockup now links to cosyte.com.
|
|
74
|
+
- Report components a competing escape alignment moved one slot along.
|
|
75
|
+
- Development tooling only: the repository's own pre-commit PHI scanner no longer lets a caller's git configuration decide which staged entries it looks at.
|
|
76
|
+
|
|
77
|
+
## 0.0.18
|
|
78
|
+
|
|
79
|
+
### Patch Changes
|
|
80
|
+
|
|
81
|
+
- Report a field a competing escape alignment read short.
|
|
82
|
+
|
|
83
|
+
## 0.0.17
|
|
84
|
+
|
|
85
|
+
### Patch Changes
|
|
86
|
+
|
|
87
|
+
- Report a competing escape alignment that shifted a result's units and status into slots the sender did not write them in.
|
|
88
|
+
|
|
89
|
+
## 0.0.15
|
|
90
|
+
|
|
91
|
+
### Patch Changes
|
|
92
|
+
|
|
93
|
+
- Stop a delimiter set that names one of the escape mnemonics from altering the values it emits, and state what a header's delimiter-declaration surplus costs on emit.
|
|
94
|
+
|
|
95
|
+
## 0.0.14
|
|
96
|
+
|
|
97
|
+
### Patch Changes
|
|
98
|
+
|
|
99
|
+
- Refuse a `startFrameNumber` that cannot be written as a frame number, which used to go out as whatever byte the arithmetic truncated to and could cost a framed stream every one of its records.
|
|
100
|
+
|
|
101
|
+
## 0.0.13
|
|
102
|
+
|
|
103
|
+
### Patch Changes
|
|
104
|
+
|
|
105
|
+
- Refuse to emit a record whose own type letter the delimiter set would escape away, which used to produce a stream that read back as different records and, in its silent branch, fabricated a final lab result out of patient identifiers.
|
|
106
|
+
|
|
107
|
+
## 0.0.11
|
|
108
|
+
|
|
109
|
+
### Patch Changes
|
|
110
|
+
|
|
111
|
+
- A symbolic link under a scan root read clean on both of the PHI scanner's enumerating routes, so a link pointing at a file full of real identifiers passed the gate twice over.
|
|
112
|
+
- Make the package's own publish gate fail when a build would ship without its type declarations.
|
|
113
|
+
|
|
114
|
+
## 0.0.10
|
|
115
|
+
|
|
116
|
+
### Patch Changes
|
|
117
|
+
|
|
118
|
+
- Stop the frame encoder from silently writing a different character than the one it was given.
|
|
119
|
+
|
|
120
|
+
## 0.0.9
|
|
121
|
+
|
|
122
|
+
### Patch Changes
|
|
123
|
+
|
|
124
|
+
- Report a record whose fields did not separate, instead of reading it back with no value, no units and no status, and stop calling a message a result set when a record's type letter is unreadable.
|
|
125
|
+
- Stop one unescaped `&` in a value from swallowing every following field.
|
|
126
|
+
|
|
127
|
+
## 0.0.8
|
|
128
|
+
|
|
129
|
+
### Patch Changes
|
|
130
|
+
|
|
131
|
+
- Remove `ASTM_RECORD_UNKNOWN_TYPE` from the profile safety gate's tolerable allow-list.
|
|
132
|
+
|
|
133
|
+
## 0.0.7
|
|
134
|
+
|
|
135
|
+
### Patch Changes
|
|
136
|
+
|
|
137
|
+
- The alt text on the README's Cosyte mark now says how its two overlapping rounded squares differ, one solid and one outlined.
|
|
138
|
+
|
|
139
|
+
## 0.0.6
|
|
140
|
+
|
|
141
|
+
### Patch Changes
|
|
142
|
+
|
|
143
|
+
- The Cosyte mark now opens the README, and follows the reader's color scheme.
|
|
144
|
+
|
|
145
|
+
## 0.0.5
|
|
146
|
+
|
|
147
|
+
### Patch Changes
|
|
148
|
+
|
|
149
|
+
Internal tooling and CI only. No change to the published package surface.
|
|
150
|
+
|
|
151
|
+
## 0.0.4
|
|
152
|
+
|
|
153
|
+
### Patch Changes
|
|
154
|
+
|
|
155
|
+
- Correct the API documentation shipped in the type declarations, and stop it going stale.
|
|
156
|
+
- Stop pairing one patient's results with another's, and add `messages()` to read a stream as the sequence of messages it actually is.
|
|
157
|
+
- Read the delimiters from every header, not just the first, so a stream carrying more than one message no longer silently loses fields.
|
|
158
|
+
- Emit one delimiter set for the whole stream, so a round-trip no longer silently loses fields.
|
|
159
|
+
- Close the two emit-side gaps where a stream went out that could not be read back.
|
|
160
|
+
|
|
161
|
+
## 0.0.3
|
|
162
|
+
|
|
163
|
+
### Patch Changes
|
|
164
|
+
|
|
165
|
+
- Documentation: the page describing what the library does and does not do moves from an "About" category into **Troubleshooting**, matching the section order every other `@cosyte/*` package uses.
|
|
166
|
+
- The status note on the README, the overview page and the install page no longer names a version number, because a release made that number wrong every time.
|
|
167
|
+
|
|
168
|
+
## Released before this file was generated
|
|
169
|
+
|
|
170
|
+
Every release section above this heading is written by
|
|
171
|
+
[Changesets](https://github.com/changesets/changesets) from the changesets in `.changeset/`, newest
|
|
172
|
+
release first. The release writes its own version heading, so nothing above this line is maintained
|
|
173
|
+
by hand, and a change is recorded by adding a changeset rather than by editing this file. The
|
|
174
|
+
sections for 0.0.3 to 0.1.1 were filled in from the GitHub release notes when generation was turned
|
|
175
|
+
on, because those releases shipped while this file was kept by hand and its last version heading was
|
|
176
|
+
0.0.2. Each repeats the "What changed" list from that release's notes, and 0.1.0 adds one line on
|
|
177
|
+
its deliberate break.
|
|
178
|
+
|
|
179
|
+
Everything below this heading was maintained by hand, in the
|
|
180
|
+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format, and is left as it was written. The
|
|
181
|
+
entries from the start down to `[0.0.2]` sat under an `[Unreleased]` heading that no release rolled
|
|
182
|
+
over, so they record what 0.0.3 to 0.1.1 changed, written as the work landed rather than sorted by
|
|
183
|
+
release. Three things were dropped: the preamble above them (it said the file was kept by hand), the
|
|
184
|
+
`[Unreleased]` heading itself, and its link definition at the foot of the file. No entry was
|
|
185
|
+
reworded.
|
|
11
186
|
|
|
12
187
|
**What 0.1 means for you.** This release is the first whose public API we treat as settled: the
|
|
13
188
|
exported names, options, return shapes and warning codes are the surface we keep stable. What it
|
|
@@ -2712,6 +2887,5 @@ EOT` session **reassembles exactly the source records**; a **raw-TCP stream equa
|
|
|
2712
2887
|
interactive contention/timeout/retransmit **timing**) is a thin consumer adapter, and the standard's
|
|
2713
2888
|
exact numeric timeouts / retry counts are deferred (we model transitions, not timers).
|
|
2714
2889
|
|
|
2715
|
-
[Unreleased]: https://github.com/cosyte/astm/commits/main
|
|
2716
2890
|
[0.0.2]: https://github.com/cosyte/astm/releases/tag/v0.0.2
|
|
2717
2891
|
[0.0.1]: https://github.com/cosyte/astm/releases/tag/v0.0.1
|