fhirsmith 0.7.0 → 0.7.2
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 +37 -0
- package/README.md +13 -4
- package/config-template.json +16 -0
- package/configurations/readme.md +1 -0
- package/extension-tracker/extension-tracker-template.html +124 -0
- package/extension-tracker/extension-tracker.js +697 -0
- package/extension-tracker/readme.md +63 -0
- package/folder/folder.js +305 -0
- package/folder/readme.md +57 -0
- package/library/html-server.js +8 -2
- package/package.json +4 -2
- package/packages/packages.js +8 -8
- package/server.js +55 -3
- package/tx/cs/cs-snomed.js +5 -3
- package/tx/html/conceptmap-operations.liquid +19 -0
- package/tx/library/extensions.js +6 -2
- package/tx/library/renderer.js +572 -3
- package/tx/ocl/cache/cache-paths.cjs +4 -5
- package/tx/ocl/cm-ocl.cjs +4 -1
- package/tx/ocl/cs-ocl.cjs +9 -9
- package/tx/ocl/vs-ocl.cjs +14 -5
- package/tx/tx-html.js +48 -3
- package/tx/workers/expand.js +23 -12
- package/tx/workers/read.js +23 -8
- package/tx/workers/search.js +62 -16
- package/tx/workers/validate.js +11 -6
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,43 @@ All notable changes to the Health Intersections Node Server will be documented i
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [v0.7.2] - 2026-03-16
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Folders module to support kindling
|
|
12
|
+
- Extension Tracker to support IG Usage Stats
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- Return valueset-unclosed as valueString instead of valueBoolean
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- Imported include excludes were ignored
|
|
19
|
+
- expansion.total inconsistent fixed
|
|
20
|
+
- $expand filter for SNOMED
|
|
21
|
+
- high-severity npm audit vulnerabilities (flatted, liquidjs, minimatch, underscore, fast-xml-parser)
|
|
22
|
+
- Showing hostname in all circumstances
|
|
23
|
+
- OCL issue: robust hash-based cold cache loading for ValueSet expansions. Ensure cacheKey and fingerprint are used for reliable retrieval and integrity.
|
|
24
|
+
|
|
25
|
+
### Tx Conformance Statement
|
|
26
|
+
|
|
27
|
+
FHIRsmith passed all 1452 HL7 terminology service tests (modes tx.fhir.org+omop+general+snomed, tests v1.9.1-SNAPSHOT, runner v6.8.2)
|
|
28
|
+
|
|
29
|
+
## [v0.7.1] - 2026-03-14
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
- Add web interface for ConceptMap
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
- Change status out parameter on $validate-code from string -> code
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
- Fix handling of markdown in release process
|
|
39
|
+
- OCL cache fixes
|
|
40
|
+
-
|
|
41
|
+
### Tx Conformance Statement
|
|
42
|
+
|
|
43
|
+
FHIRsmith passed all 1452 HL7 terminology service tests (modes tx.fhir.org+omop+general+snomed, tests v1.9.1-SNAPSHOT, runner v6.8.2)
|
|
44
|
+
|
|
8
45
|
## [v0.7.0] - 2026-03-13
|
|
9
46
|
|
|
10
47
|
### Added
|
package/README.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#  FHIRsmith - FHIR Server toolkit
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
3
|
This server provides a set of server-side services that are useful for the FHIR Community. The set of are two kinds of services:
|
|
6
4
|
|
|
7
5
|
## Modules useful to anyone in the community
|
|
@@ -31,17 +29,28 @@ in-build support for SSL, rate limiting etc.
|
|
|
31
29
|
|
|
32
30
|
There are 4 executable programs:
|
|
33
31
|
* the server (`node server`)
|
|
34
|
-
* the test cases (`npm test`)
|
|
35
32
|
* the terminology importer (`node --max-old-space-size=8192 tx/importers/tx-import XXX`) - see [Doco](tx/importers/readme.md)
|
|
33
|
+
* the test cases (`npm test`)
|
|
36
34
|
* the test cases generater (`node tx/tests/testcases-generator.js`)
|
|
37
35
|
|
|
36
|
+
Unless you're developing, you only need the first two
|
|
37
|
+
|
|
38
|
+
### Quick Start
|
|
39
|
+
|
|
40
|
+
* Install FHIRSmith (using docker, or an NPM release, or just get the code by git)
|
|
41
|
+
* Figure out the data directory
|
|
42
|
+
* Provide a configuration to tell the server what to run (see documentation below, or use a [prebuilt configuration]/configurations/readme.md)
|
|
43
|
+
* Run the server
|
|
44
|
+
|
|
45
|
+
For further details of these steps, read on
|
|
46
|
+
|
|
38
47
|
### Data Directory
|
|
39
48
|
|
|
40
49
|
The server separates code from runtime data. All databases, caches, logs, and downloaded
|
|
41
50
|
files are stored in a single data directory. The location is determined by:
|
|
42
51
|
|
|
43
52
|
1. The `FHIRSMITH_DATA_DIR` environment variable (if set)
|
|
44
|
-
2. Otherwise, defaults to `./data` relative to the working directory
|
|
53
|
+
2. Otherwise, defaults to `./data` relative to the working directory (development set up)
|
|
45
54
|
|
|
46
55
|
The data directory contains (depending on which modules are in use):
|
|
47
56
|
* `config.json` — server and module configuration
|
package/config-template.json
CHANGED
|
@@ -139,6 +139,22 @@
|
|
|
139
139
|
"context": null
|
|
140
140
|
}
|
|
141
141
|
]
|
|
142
|
+
},
|
|
143
|
+
"folder" : {
|
|
144
|
+
"enabled": false,
|
|
145
|
+
"folders": [
|
|
146
|
+
{
|
|
147
|
+
"name": "folder",
|
|
148
|
+
"folder": "/tmp/folder",
|
|
149
|
+
"url": "/folder",
|
|
150
|
+
"enabled": true
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"ext-tracker": {
|
|
155
|
+
"enabled": true,
|
|
156
|
+
"database": "/var/fhir/data/extension-tracker.db",
|
|
157
|
+
"url": "/ext-tracker"
|
|
142
158
|
}
|
|
143
159
|
}
|
|
144
160
|
}
|
package/configurations/readme.md
CHANGED
|
@@ -3,3 +3,4 @@ This folder contains some basic starter configurations:
|
|
|
3
3
|
* Terminology server: see tx-config.json for a vanilla server that doesn't contain any licensed content
|
|
4
4
|
* NPM web server: see projector.json for a basic configuration to make a package available online
|
|
5
5
|
|
|
6
|
+
To use these, copy the relevant file to your local data directory, and rename to config.json
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
|
|
3
|
+
<html xml:lang="en" lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<title>FHIRsmith: [%title%]</title>
|
|
6
|
+
|
|
7
|
+
<meta charset="utf-8"/>
|
|
8
|
+
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
|
9
|
+
<meta content="http://hl7.org/fhir" name="author"/>
|
|
10
|
+
<meta charset="utf-8" http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
11
|
+
|
|
12
|
+
<link rel="stylesheet" href="/fhir.css"/>
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
<!-- Bootstrap core CSS -->
|
|
16
|
+
<link rel="stylesheet" href="/assets/css/bootstrap.css"/>
|
|
17
|
+
<link rel="stylesheet" href="/assets/css/bootstrap-fhir.css"/>
|
|
18
|
+
|
|
19
|
+
<!-- Project extras -->
|
|
20
|
+
<link rel="stylesheet" href="/assets/css/project.css"/>
|
|
21
|
+
<link rel="stylesheet" href="/assets/css/pygments-manni.css"/>
|
|
22
|
+
|
|
23
|
+
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
|
24
|
+
<!-- [if lt IE 9]>
|
|
25
|
+
<script src="/assets/js/html5shiv.js"></script>
|
|
26
|
+
<script src="/assets/js/respond.min.js"></script>
|
|
27
|
+
<![endif] -->
|
|
28
|
+
|
|
29
|
+
<!-- Favicons -->
|
|
30
|
+
<link sizes="144x144" rel="apple-touch-icon-precomposed" href="/assets/ico/apple-touch-icon-144-precomposed.png"/>
|
|
31
|
+
<link sizes="114x114" rel="apple-touch-icon-precomposed" href="/assets/ico/apple-touch-icon-114-precomposed.png"/>
|
|
32
|
+
<link sizes="72x72" rel="apple-touch-icon-precomposed" href="/assets/ico/apple-touch-icon-72-precomposed.png"/>
|
|
33
|
+
<link rel="apple-touch-icon-precomposed" href="/assets/ico/apple-touch-icon-57-precomposed.png"/>
|
|
34
|
+
<link rel="shortcut icon" href="/assets/ico/favicon.png"/>
|
|
35
|
+
<script type="text/javascript" src="/assets/js/json2.js"></script>
|
|
36
|
+
<script type="text/javascript" src="/assets/js/statuspage.js"></script>
|
|
37
|
+
<script type="text/javascript" src="/assets/js/jquery.min.js"></script>
|
|
38
|
+
<script type="text/javascript" src="/assets/js/jquery-ui.min.js"></script>
|
|
39
|
+
<link rel="stylesheet" href="/assets/css/jquery.ui.all.css">
|
|
40
|
+
<script type="text/javascript" src="/assets/js/jquery.ui.core.js"></script>
|
|
41
|
+
<script type="text/javascript" src="/assets/js/jquery.ui.widget.js"></script>
|
|
42
|
+
<script type="text/javascript" src="/assets/js/jquery.ui.mouse.js"></script>
|
|
43
|
+
<script type="text/javascript" src="/assets/js/jquery.ui.resizable.js"></script>
|
|
44
|
+
<script type="text/javascript" src="/assets/js/jquery.ui.draggable.js"></script>
|
|
45
|
+
<script type="text/javascript" src="/assets/js/jtip.js"></script>
|
|
46
|
+
<script type="text/javascript" src="/assets/js/jcookie.js"></script>
|
|
47
|
+
<script type="text/javascript" src="/assets/js/fhir-gw.js"></script>
|
|
48
|
+
</head>
|
|
49
|
+
|
|
50
|
+
<body>
|
|
51
|
+
|
|
52
|
+
<div id="segment-navbar" class="segment"> <!-- segment-breadcrumb -->
|
|
53
|
+
<div id="stripe"> </div>
|
|
54
|
+
<div class="container"> <!-- container -->
|
|
55
|
+
<div style="background-color: #ad1f2f; padding: 6px; color: white;"> <!-- container -->
|
|
56
|
+
<a href="http://www.hl7.org/fhir" style="color: gold" title="Fast Healthcare Interoperability Resources - Home Page"><img border="0" src="/icon-fhir-16.png" style="vertical-align: text-bottom"/> <b>FHIR</b></a> © HL7.org |
|
|
57
|
+
<a href="https://github.com/HealthIntersections/FHIRsmith/blob/main/README.md" style="color: gold"><img border="0" src="/FHIRsmith16.png" style="vertical-align: text-bottom"/> FHIRsmith</a> [%ver%] |
|
|
58
|
+
<a href="/" style="color: gold"> Server Home</a> |
|
|
59
|
+
<a href="/ext-tracker" style="color: gold">Extension Tracker</a> |
|
|
60
|
+
<a href="/ext-tracker/extensions" style="color: gold">Extensions</a> |
|
|
61
|
+
<a href="/ext-tracker/profiles" style="color: gold">Profiles</a> |
|
|
62
|
+
<a href="/ext-tracker/usage" style="color: gold">Usage</a>
|
|
63
|
+
</div> <!-- /container -->
|
|
64
|
+
</div> <!-- /container -->
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<!-- /segment-breadcrumb -->
|
|
68
|
+
|
|
69
|
+
<div id="segment-content" class="segment"> <!-- segment-content -->
|
|
70
|
+
<div class="container"> <!-- container -->
|
|
71
|
+
<div class="row">
|
|
72
|
+
<div class="inner-wrapper">
|
|
73
|
+
<div class="col-9">
|
|
74
|
+
|
|
75
|
+
<h2><img border="0" src="../FHIRsmith32.png" style="vertical-align: text-bottom"/> [%title%] </h2>
|
|
76
|
+
|
|
77
|
+
[%content%]
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
</div>
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
</div> <!-- /inner-wrapper -->
|
|
84
|
+
</div> <!-- /row -->
|
|
85
|
+
</div> <!-- /container -->
|
|
86
|
+
</div> <!-- /segment-content -->
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
<div id="segment-footer" class="segment"> <!-- segment-footer -->
|
|
90
|
+
<div class="container"> <!-- container -->
|
|
91
|
+
<div class="inner-wrapper">
|
|
92
|
+
<p>
|
|
93
|
+
<a href="http://www.hl7.org/fhir" style="color: gold" title="Fast Healthcare Interoperability Resources - Home Page"><img border="0" src="/icon-fhir-16.png" style="vertical-align: text-bottom"/> <b>FHIR</b></a> © HL7.org 2011+. |
|
|
94
|
+
<a href="https://github.com/HealthIntersections/FHIRsmith/blob/main/README.md" style="color: gold"><img border="0" src="/FHIRsmith16.png" style="vertical-align: text-bottom"/> FHIRsmith</a> [%ver%] © HealthIntersections.com.au 2023+ |
|
|
95
|
+
[%total-packages%] packages tracked | ([%ms%] ms)
|
|
96
|
+
</p>
|
|
97
|
+
</div> <!-- /inner-wrapper -->
|
|
98
|
+
</div> <!-- /container -->
|
|
99
|
+
</div> <!-- /segment-footer -->
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
<div id="segment-post-footer" class="segment hidden"> <!-- segment-post-footer -->
|
|
103
|
+
<div class="container"> <!-- container -->
|
|
104
|
+
</div> <!-- /container -->
|
|
105
|
+
</div> <!-- /segment-post-footer -->
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
<!-- JS and analytics only. -->
|
|
110
|
+
<!-- Bootstrap core JavaScript
|
|
111
|
+
================================================== -->
|
|
112
|
+
<!-- Placed at the end of the document so the pages load faster -->
|
|
113
|
+
<!-- <script src="/assets/js/jquery.js"/> -->
|
|
114
|
+
<script src="/assets/js/bootstrap.min.js"/>
|
|
115
|
+
<script src="/assets/js/respond.min.js"/>
|
|
116
|
+
|
|
117
|
+
<script src="/assets/js/fhir.js"/>
|
|
118
|
+
|
|
119
|
+
<!-- Analytics Below
|
|
120
|
+
================================================== -->
|
|
121
|
+
|
|
122
|
+
</body>
|
|
123
|
+
|
|
124
|
+
</html>
|