Changelog
Source:NEWS.md
thipR 0.2.1
Simplify THIP installation: use R’s standard personal library (
R_LIBS_USER), created once, instead of a custom~/R/thipR-librarythat needed.libPaths()in every session.Accept ClickHouseHTTP 1.1.2 or later instead of exactly 1.1.2, so a normal
pak::pak("Songyosr/thipR")keeps working when CRAN updates the driver. Versions older than 1.1.2 are refused; a newer version that changes the connection structure thipR relies on stops with a clear message; other newer versions warn once per session as untested.Document what first-time
thip_setup()looks like in a THIP notebook: the prompts in order, the masked password box, the verification step, the confirmation line and a troubleshooting table, in the help page and the start-here guide.
thipR 0.2.0
First public release.
Document Thai ICD-10-TM five-character codes in the condition guide: exact matching on a four-character code misses more detailed codes; use prefix matching and tabulate recorded codes before freezing a definition.
Pin
ClickHouseHTTP (== 1.1.2)in Imports so dependency resolution matches the runtime driver check; a newer driver now fails at install/load instead of at connection. The runtime error names the installed version and the pinned install command. Installation guides install the tested driver explicitly first.icd_flag()andthip_filter_icd()now error on range (Q20-Q26), SQL/regex wildcard and comma/space-list notation, which previously matched nothing and returned plausible all-FALSE results. Literal codes, prefixes,*,+,/, leading-zero procedure codes and empty vectors are unchanged.Add
thip_date_audit()for explicit aggregate checks of raw/converted date pairs, separating missing text, blanks, parsed values and conversion failures. Document per-column formats and audit-before-filtering in the source guide.Split learning material into five focused guides with shared pkgdown navigation and reproducibly generated THIP notebooks plus a short index.
Add offline synthetic and remote-source vignettes, with standard knitr build registration and explicit API execution contracts.
Add opt-in date/datetime mappings and explicit formats to
thip_table(). Preserve raw fields; conversions stay lazy and invalid values become missing. Datetimes require an explicit timezone and preserve millisecond precision.
thipR 0.1.0
- Add
thip_window()plans with explicit column roles and date boundaries;dplyr::collect()executes complete, read-only person batches. Local data frames use a keyed index and interval matching without altering source dates. - Add structural validation, empty-window handling, completion reports and failure-without-partial-success behavior. Final collected data must fit R RAM.
- Extend
thip_table(con, tables = ...)to compatible lazy UNION ALL sources, column alignment and optional provenance. Warn on the legacy singular argument. - Add lazy
thip_filter_icd()sharing ICD normalization and matching policy. Keep publicicd_flag()local; preserve SQL flag experiments internally. - Inherit platform row/time settings by default; retain configurable limits, two-thread default, read-only requests and errors on overflow.
- Deprecate
thip_collect()andthip_disconnect()in favor of standard APIs.
thipR 0.0.1.9003
- Add
thip_setup()for one-time, user-level.Renvironconfiguration inside THIP, with masked password entry or existing process configuration. - Preserve unrelated environment-file lines, require explicit replacement of existing THIP entries, and atomically write an owner-only plaintext file.
- Reuse connection validation and the SELECT-only verification step before saving; support explicit offline setup with
verify = FALSE. - Keep
thip_connect()environment-based and retain explicit-argument overrides. Isolated THIP integration verifies masked input and a fresh-kernel connection.
thipR 0.0.1.9002
- Dispatch
icd_flag()automatically to read-only lazy SQL for ClickHouseHTTP dbplyr tables, retaining the sparse implementation for local data frames. - Preserve exact/prefix, normalization, missing-code and repeated-ID semantics across backends. SQL row order is unspecified; collection remains explicit.
- Add offline SQL tests and a synthetic-only live equivalence check.
- Add opt-in
sql_strategy = "distinct"to reuse matches across distinct codes using a single source scan and code-to-ID aggregation; retain"row"as the default. Both strategies remain lazy and read-only. - Separate shared validation, local matching/aggregation and SQL construction into focused internal modules. Remove a redundant dense flag allocation and numeric-ID text conversion; reuse synthetic fixtures and an independent reference matcher across offline and smoke checks.
thipR 0.0.1.9001
- Add local
icd_flag()for custom condition lists, exact/prefix matching, dotted-code normalization, and sparse aggregation across repeated IDs.