@openhi/types 0.0.45 → 0.0.46

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.
@@ -6,4 +6,5 @@
6
6
  * platform (`hl7.openhi.org`) namespacing via a future data migration.
7
7
  */
8
8
  export * from "./appointment-series";
9
+ export * from "./supply-request-deliver-for";
9
10
  export * from "./supply-request-encounter";
@@ -22,5 +22,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
22
  * platform (`hl7.openhi.org`) namespacing via a future data migration.
23
23
  */
24
24
  __exportStar(require("./appointment-series"), exports);
25
+ __exportStar(require("./supply-request-deliver-for"), exports);
25
26
  __exportStar(require("./supply-request-encounter"), exports);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXh0ZW5zaW9ucy9vbi1zaXRlLW1lZGljYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7R0FNRztBQUNILHVEQUFxQztBQUNyQyw2REFBMkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEN1c3RvbWVyLW5hbWVzcGFjZWQgKGBvbi1zaXRlLW1lZGljYWwuYXBwYCkgZXh0ZW5zaW9uIGFuZCBpZGVudGlmaWVyXG4gKiBjb250cmFjdHMuIEhhbmQtYXV0aG9yZWQsIGxpa2UgYC4uL29wZW5oaWAuIFNlZSB0aGUgcHJvdmVuYW5jZSBub3RlIGluXG4gKiBlYWNoIG1vZHVsZSDigJQgdGhlc2UgYXJlIGZyb3plbiB3aXJlIGNvbnRyYWN0cyBzaGFyZWQgYnkgdGhlIE9wZW5ISVxuICogYmFja2VuZCBhbmQgdGhlIG9uLXNpdGUtbWVkaWNhbCBmcm9udGVuZCwgY2FuZGlkYXRlcyBmb3IgcHJvbW90aW9uIHRvXG4gKiBwbGF0Zm9ybSAoYGhsNy5vcGVuaGkub3JnYCkgbmFtZXNwYWNpbmcgdmlhIGEgZnV0dXJlIGRhdGEgbWlncmF0aW9uLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9hcHBvaW50bWVudC1zZXJpZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N1cHBseS1yZXF1ZXN0LWVuY291bnRlclwiO1xuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXh0ZW5zaW9ucy9vbi1zaXRlLW1lZGljYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7R0FNRztBQUNILHVEQUFxQztBQUNyQywrREFBNkM7QUFDN0MsNkRBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXN0b21lci1uYW1lc3BhY2VkIChgb24tc2l0ZS1tZWRpY2FsLmFwcGApIGV4dGVuc2lvbiBhbmQgaWRlbnRpZmllclxuICogY29udHJhY3RzLiBIYW5kLWF1dGhvcmVkLCBsaWtlIGAuLi9vcGVuaGlgLiBTZWUgdGhlIHByb3ZlbmFuY2Ugbm90ZSBpblxuICogZWFjaCBtb2R1bGUg4oCUIHRoZXNlIGFyZSBmcm96ZW4gd2lyZSBjb250cmFjdHMgc2hhcmVkIGJ5IHRoZSBPcGVuSElcbiAqIGJhY2tlbmQgYW5kIHRoZSBvbi1zaXRlLW1lZGljYWwgZnJvbnRlbmQsIGNhbmRpZGF0ZXMgZm9yIHByb21vdGlvbiB0b1xuICogcGxhdGZvcm0gKGBobDcub3BlbmhpLm9yZ2ApIG5hbWVzcGFjaW5nIHZpYSBhIGZ1dHVyZSBkYXRhIG1pZ3JhdGlvbi5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vYXBwb2ludG1lbnQtc2VyaWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdXBwbHktcmVxdWVzdC1kZWxpdmVyLWZvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3VwcGx5LXJlcXVlc3QtZW5jb3VudGVyXCI7XG4iXX0=
@@ -0,0 +1,48 @@
1
+ /**
2
+ * R5 pre-add: `SupplyRequest.deliverFor` — the patient a supply order is *for*.
3
+ *
4
+ * **The gap this fills.** FHIR R4 `SupplyRequest` has no patient-identification
5
+ * element (no `subject`, no `patient`). Its only delivery field is `deliverTo`
6
+ * (`Reference(Patient|Location|Organization)`) — "where the supplies physically
7
+ * ship". For home-care `deliverTo` happens to be the Patient, but for facility
8
+ * orders it is a `Location`, so `deliverTo` cannot answer "whose order is this".
9
+ *
10
+ * **The fix.** FHIR R5 added `SupplyRequest.deliverFor` (`Reference(Patient)` —
11
+ * "who the supplies are for") to close exactly this gap. Because we own our
12
+ * FHIR model and DB, we **pre-adopt that R5 field now** rather than inventing a
13
+ * bespoke extension. This module declares `deliverFor` on the (otherwise
14
+ * R4-generated) `SupplyRequest` type via module augmentation so consumers can
15
+ * read/write it with full type safety; at runtime it round-trips through the
16
+ * `passthrough` schema untouched. The OpenHI backend registers
17
+ * `SupplyRequest ?patient=` against `$.deliverFor` (not `$.deliverTo`).
18
+ *
19
+ * When we eventually upgrade to/support R5, `deliverFor` becomes native and
20
+ * this augmentation is deleted — a rename of nothing, since the field name and
21
+ * shape already match the R5 spec.
22
+ *
23
+ * Sibling contract: the encounter half of the same patient/encounter linkage
24
+ * is a custom extension (no `encounter` element exists in R4 or R5) — see
25
+ * [[supply-request-encounter]].
26
+ *
27
+ * @see https://hl7.org/fhir/R5/supplyrequest.html#SupplyRequest.deliverFor
28
+ */
29
+ import type { Reference } from "../../data/reference";
30
+ import type { SupplyRequest } from "../../data/supplyrequest";
31
+ declare module "../../data/supplyrequest" {
32
+ interface SupplyRequest {
33
+ /**
34
+ * R5 pre-add. The patient the supplies are for (`Reference(Patient)`).
35
+ * Distinct from `deliverTo` (the shipping destination). Carries patient
36
+ * identity for `?patient=` search and for facility orders whose
37
+ * `deliverTo` is a `Location`.
38
+ */
39
+ deliverFor?: Reference;
40
+ }
41
+ }
42
+ /** Build the `deliverFor` reference for a supply order's patient. */
43
+ export declare function buildSupplyRequestDeliverFor(patient: Reference): Reference;
44
+ /**
45
+ * Returns the patient reference (`Patient/<id>`) a SupplyRequest is for, read
46
+ * from the R5-backport `deliverFor` field, or null when it is absent.
47
+ */
48
+ export declare function getSupplyRequestPatient(supplyRequest: SupplyRequest): string | null;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSupplyRequestDeliverFor = buildSupplyRequestDeliverFor;
4
+ exports.getSupplyRequestPatient = getSupplyRequestPatient;
5
+ /** Build the `deliverFor` reference for a supply order's patient. */
6
+ function buildSupplyRequestDeliverFor(patient) {
7
+ return patient;
8
+ }
9
+ /**
10
+ * Returns the patient reference (`Patient/<id>`) a SupplyRequest is for, read
11
+ * from the R5-backport `deliverFor` field, or null when it is absent.
12
+ */
13
+ function getSupplyRequestPatient(supplyRequest) {
14
+ return supplyRequest.deliverFor?.reference ?? null;
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGx5LXJlcXVlc3QtZGVsaXZlci1mb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXh0ZW5zaW9ucy9vbi1zaXRlLW1lZGljYWwvc3VwcGx5LXJlcXVlc3QtZGVsaXZlci1mb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0Q0Esb0VBRUM7QUFNRCwwREFJQztBQWJELHFFQUFxRTtBQUNyRSxTQUFnQiw0QkFBNEIsQ0FBQyxPQUFrQjtJQUM3RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3JDLGFBQTRCO0lBRTVCLE9BQU8sYUFBYSxDQUFDLFVBQVUsRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFI1IHByZS1hZGQ6IGBTdXBwbHlSZXF1ZXN0LmRlbGl2ZXJGb3JgIOKAlCB0aGUgcGF0aWVudCBhIHN1cHBseSBvcmRlciBpcyAqZm9yKi5cbiAqXG4gKiAqKlRoZSBnYXAgdGhpcyBmaWxscy4qKiBGSElSIFI0IGBTdXBwbHlSZXF1ZXN0YCBoYXMgbm8gcGF0aWVudC1pZGVudGlmaWNhdGlvblxuICogZWxlbWVudCAobm8gYHN1YmplY3RgLCBubyBgcGF0aWVudGApLiBJdHMgb25seSBkZWxpdmVyeSBmaWVsZCBpcyBgZGVsaXZlclRvYFxuICogKGBSZWZlcmVuY2UoUGF0aWVudHxMb2NhdGlvbnxPcmdhbml6YXRpb24pYCkg4oCUIFwid2hlcmUgdGhlIHN1cHBsaWVzIHBoeXNpY2FsbHlcbiAqIHNoaXBcIi4gRm9yIGhvbWUtY2FyZSBgZGVsaXZlclRvYCBoYXBwZW5zIHRvIGJlIHRoZSBQYXRpZW50LCBidXQgZm9yIGZhY2lsaXR5XG4gKiBvcmRlcnMgaXQgaXMgYSBgTG9jYXRpb25gLCBzbyBgZGVsaXZlclRvYCBjYW5ub3QgYW5zd2VyIFwid2hvc2Ugb3JkZXIgaXMgdGhpc1wiLlxuICpcbiAqICoqVGhlIGZpeC4qKiBGSElSIFI1IGFkZGVkIGBTdXBwbHlSZXF1ZXN0LmRlbGl2ZXJGb3JgIChgUmVmZXJlbmNlKFBhdGllbnQpYCDigJRcbiAqIFwid2hvIHRoZSBzdXBwbGllcyBhcmUgZm9yXCIpIHRvIGNsb3NlIGV4YWN0bHkgdGhpcyBnYXAuIEJlY2F1c2Ugd2Ugb3duIG91clxuICogRkhJUiBtb2RlbCBhbmQgREIsIHdlICoqcHJlLWFkb3B0IHRoYXQgUjUgZmllbGQgbm93KiogcmF0aGVyIHRoYW4gaW52ZW50aW5nIGFcbiAqIGJlc3Bva2UgZXh0ZW5zaW9uLiBUaGlzIG1vZHVsZSBkZWNsYXJlcyBgZGVsaXZlckZvcmAgb24gdGhlIChvdGhlcndpc2VcbiAqIFI0LWdlbmVyYXRlZCkgYFN1cHBseVJlcXVlc3RgIHR5cGUgdmlhIG1vZHVsZSBhdWdtZW50YXRpb24gc28gY29uc3VtZXJzIGNhblxuICogcmVhZC93cml0ZSBpdCB3aXRoIGZ1bGwgdHlwZSBzYWZldHk7IGF0IHJ1bnRpbWUgaXQgcm91bmQtdHJpcHMgdGhyb3VnaCB0aGVcbiAqIGBwYXNzdGhyb3VnaGAgc2NoZW1hIHVudG91Y2hlZC4gVGhlIE9wZW5ISSBiYWNrZW5kIHJlZ2lzdGVyc1xuICogYFN1cHBseVJlcXVlc3QgP3BhdGllbnQ9YCBhZ2FpbnN0IGAkLmRlbGl2ZXJGb3JgIChub3QgYCQuZGVsaXZlclRvYCkuXG4gKlxuICogV2hlbiB3ZSBldmVudHVhbGx5IHVwZ3JhZGUgdG8vc3VwcG9ydCBSNSwgYGRlbGl2ZXJGb3JgIGJlY29tZXMgbmF0aXZlIGFuZFxuICogdGhpcyBhdWdtZW50YXRpb24gaXMgZGVsZXRlZCDigJQgYSByZW5hbWUgb2Ygbm90aGluZywgc2luY2UgdGhlIGZpZWxkIG5hbWUgYW5kXG4gKiBzaGFwZSBhbHJlYWR5IG1hdGNoIHRoZSBSNSBzcGVjLlxuICpcbiAqIFNpYmxpbmcgY29udHJhY3Q6IHRoZSBlbmNvdW50ZXIgaGFsZiBvZiB0aGUgc2FtZSBwYXRpZW50L2VuY291bnRlciBsaW5rYWdlXG4gKiBpcyBhIGN1c3RvbSBleHRlbnNpb24gKG5vIGBlbmNvdW50ZXJgIGVsZW1lbnQgZXhpc3RzIGluIFI0IG9yIFI1KSDigJQgc2VlXG4gKiBbW3N1cHBseS1yZXF1ZXN0LWVuY291bnRlcl1dLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9obDcub3JnL2ZoaXIvUjUvc3VwcGx5cmVxdWVzdC5odG1sI1N1cHBseVJlcXVlc3QuZGVsaXZlckZvclxuICovXG5pbXBvcnQgdHlwZSB7IFJlZmVyZW5jZSB9IGZyb20gXCIuLi8uLi9kYXRhL3JlZmVyZW5jZVwiO1xuaW1wb3J0IHR5cGUgeyBTdXBwbHlSZXF1ZXN0IH0gZnJvbSBcIi4uLy4uL2RhdGEvc3VwcGx5cmVxdWVzdFwiO1xuXG5kZWNsYXJlIG1vZHVsZSBcIi4uLy4uL2RhdGEvc3VwcGx5cmVxdWVzdFwiIHtcbiAgaW50ZXJmYWNlIFN1cHBseVJlcXVlc3Qge1xuICAgIC8qKlxuICAgICAqIFI1IHByZS1hZGQuIFRoZSBwYXRpZW50IHRoZSBzdXBwbGllcyBhcmUgZm9yIChgUmVmZXJlbmNlKFBhdGllbnQpYCkuXG4gICAgICogRGlzdGluY3QgZnJvbSBgZGVsaXZlclRvYCAodGhlIHNoaXBwaW5nIGRlc3RpbmF0aW9uKS4gQ2FycmllcyBwYXRpZW50XG4gICAgICogaWRlbnRpdHkgZm9yIGA/cGF0aWVudD1gIHNlYXJjaCBhbmQgZm9yIGZhY2lsaXR5IG9yZGVycyB3aG9zZVxuICAgICAqIGBkZWxpdmVyVG9gIGlzIGEgYExvY2F0aW9uYC5cbiAgICAgKi9cbiAgICBkZWxpdmVyRm9yPzogUmVmZXJlbmNlO1xuICB9XG59XG5cbi8qKiBCdWlsZCB0aGUgYGRlbGl2ZXJGb3JgIHJlZmVyZW5jZSBmb3IgYSBzdXBwbHkgb3JkZXIncyBwYXRpZW50LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU3VwcGx5UmVxdWVzdERlbGl2ZXJGb3IocGF0aWVudDogUmVmZXJlbmNlKTogUmVmZXJlbmNlIHtcbiAgcmV0dXJuIHBhdGllbnQ7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGF0aWVudCByZWZlcmVuY2UgKGBQYXRpZW50LzxpZD5gKSBhIFN1cHBseVJlcXVlc3QgaXMgZm9yLCByZWFkXG4gKiBmcm9tIHRoZSBSNS1iYWNrcG9ydCBgZGVsaXZlckZvcmAgZmllbGQsIG9yIG51bGwgd2hlbiBpdCBpcyBhYnNlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdXBwbHlSZXF1ZXN0UGF0aWVudChcbiAgc3VwcGx5UmVxdWVzdDogU3VwcGx5UmVxdWVzdCxcbik6IHN0cmluZyB8IG51bGwge1xuICByZXR1cm4gc3VwcGx5UmVxdWVzdC5kZWxpdmVyRm9yPy5yZWZlcmVuY2UgPz8gbnVsbDtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -39,7 +39,7 @@
39
39
  "publishConfig": {
40
40
  "access": "public"
41
41
  },
42
- "version": "0.0.45",
42
+ "version": "0.0.46",
43
43
  "types": "lib/index.d.ts",
44
44
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"pnpm exec projen\".",
45
45
  "scripts": {