@openhi/types 0.0.44 → 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.
- package/lib/extensions/on-site-medical/index.d.ts +2 -0
- package/lib/extensions/on-site-medical/index.js +3 -1
- package/lib/extensions/on-site-medical/supply-request-deliver-for.d.ts +48 -0
- package/lib/extensions/on-site-medical/supply-request-deliver-for.js +16 -0
- package/lib/extensions/on-site-medical/supply-request-encounter.d.ts +43 -0
- package/lib/extensions/on-site-medical/supply-request-encounter.js +50 -0
- package/package.json +1 -1
|
@@ -22,4 +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
|
-
|
|
25
|
+
__exportStar(require("./supply-request-deliver-for"), exports);
|
|
26
|
+
__exportStar(require("./supply-request-encounter"), exports);
|
|
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==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hand-authored contract for the `supply-request-encounter` extension —
|
|
3
|
+
* the `Encounter` a `SupplyRequest` belongs to.
|
|
4
|
+
*
|
|
5
|
+
* **Why it exists:** neither FHIR R4 nor R5 gives `SupplyRequest` an
|
|
6
|
+
* `encounter` field (R5 adds only `deliverFor` → Patient). The
|
|
7
|
+
* on-site-medical frontend carries the encounter reference in this narrow
|
|
8
|
+
* custom extension so supply orders can be filtered by visit — and, for
|
|
9
|
+
* facility orders (`deliverTo` = Location, not Patient), it is the only path
|
|
10
|
+
* from the order to its patient (order → Encounter → `Encounter.subject`).
|
|
11
|
+
*
|
|
12
|
+
* **Namespace provenance:** `on-site-medical.app` — the contract originated
|
|
13
|
+
* in the frontend and live data already carries it (frozen). This module is
|
|
14
|
+
* the single shared definition: the frontend writes the extension, and the
|
|
15
|
+
* OpenHI backend's `SupplyRequest ?encounter=` search filter matches against
|
|
16
|
+
* this same URL, so the two cannot drift.
|
|
17
|
+
*
|
|
18
|
+
* @see sites/app-ehr/docs/fhir/extensions/supply-request-encounter.md
|
|
19
|
+
*/
|
|
20
|
+
import { z } from "zod";
|
|
21
|
+
import type { Extension } from "../../data/extension";
|
|
22
|
+
import type { Reference } from "../../data/reference";
|
|
23
|
+
import type { SupplyRequest } from "../../data/supplyrequest";
|
|
24
|
+
/** `SupplyRequest.extension.url` carrying the `Reference(Encounter)`. */
|
|
25
|
+
export declare const SUPPLY_REQUEST_ENCOUNTER_EXTENSION_URL: "https://on-site-medical.app/fhir/StructureDefinition/supply-request-encounter";
|
|
26
|
+
export declare const supplyRequestEncounterExtensionSchema: z.ZodObject<{
|
|
27
|
+
url: z.ZodLiteral<"https://on-site-medical.app/fhir/StructureDefinition/supply-request-encounter">;
|
|
28
|
+
valueReference: z.ZodType<Reference, z.ZodTypeDef, Reference>;
|
|
29
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
30
|
+
url: z.ZodLiteral<"https://on-site-medical.app/fhir/StructureDefinition/supply-request-encounter">;
|
|
31
|
+
valueReference: z.ZodType<Reference, z.ZodTypeDef, Reference>;
|
|
32
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
33
|
+
url: z.ZodLiteral<"https://on-site-medical.app/fhir/StructureDefinition/supply-request-encounter">;
|
|
34
|
+
valueReference: z.ZodType<Reference, z.ZodTypeDef, Reference>;
|
|
35
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
36
|
+
export type SupplyRequestEncounterExtension = z.infer<typeof supplyRequestEncounterExtensionSchema>;
|
|
37
|
+
/** Build the extension carrying the encounter a supply order belongs to. */
|
|
38
|
+
export declare function buildSupplyRequestEncounterExtension(encounter: Reference): Extension;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the encounter reference (`Encounter/<id>`) a SupplyRequest belongs
|
|
41
|
+
* to, or null when the extension is absent.
|
|
42
|
+
*/
|
|
43
|
+
export declare function getSupplyRequestEncounter(supplyRequest: SupplyRequest): string | null;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.supplyRequestEncounterExtensionSchema = exports.SUPPLY_REQUEST_ENCOUNTER_EXTENSION_URL = void 0;
|
|
4
|
+
exports.buildSupplyRequestEncounterExtension = buildSupplyRequestEncounterExtension;
|
|
5
|
+
exports.getSupplyRequestEncounter = getSupplyRequestEncounter;
|
|
6
|
+
/**
|
|
7
|
+
* Hand-authored contract for the `supply-request-encounter` extension —
|
|
8
|
+
* the `Encounter` a `SupplyRequest` belongs to.
|
|
9
|
+
*
|
|
10
|
+
* **Why it exists:** neither FHIR R4 nor R5 gives `SupplyRequest` an
|
|
11
|
+
* `encounter` field (R5 adds only `deliverFor` → Patient). The
|
|
12
|
+
* on-site-medical frontend carries the encounter reference in this narrow
|
|
13
|
+
* custom extension so supply orders can be filtered by visit — and, for
|
|
14
|
+
* facility orders (`deliverTo` = Location, not Patient), it is the only path
|
|
15
|
+
* from the order to its patient (order → Encounter → `Encounter.subject`).
|
|
16
|
+
*
|
|
17
|
+
* **Namespace provenance:** `on-site-medical.app` — the contract originated
|
|
18
|
+
* in the frontend and live data already carries it (frozen). This module is
|
|
19
|
+
* the single shared definition: the frontend writes the extension, and the
|
|
20
|
+
* OpenHI backend's `SupplyRequest ?encounter=` search filter matches against
|
|
21
|
+
* this same URL, so the two cannot drift.
|
|
22
|
+
*
|
|
23
|
+
* @see sites/app-ehr/docs/fhir/extensions/supply-request-encounter.md
|
|
24
|
+
*/
|
|
25
|
+
const zod_1 = require("zod");
|
|
26
|
+
const reference_1 = require("../../data/reference");
|
|
27
|
+
/** `SupplyRequest.extension.url` carrying the `Reference(Encounter)`. */
|
|
28
|
+
exports.SUPPLY_REQUEST_ENCOUNTER_EXTENSION_URL = "https://on-site-medical.app/fhir/StructureDefinition/supply-request-encounter";
|
|
29
|
+
exports.supplyRequestEncounterExtensionSchema = zod_1.z
|
|
30
|
+
.object({
|
|
31
|
+
url: zod_1.z.literal(exports.SUPPLY_REQUEST_ENCOUNTER_EXTENSION_URL),
|
|
32
|
+
valueReference: reference_1.referenceSchema,
|
|
33
|
+
})
|
|
34
|
+
.passthrough();
|
|
35
|
+
/** Build the extension carrying the encounter a supply order belongs to. */
|
|
36
|
+
function buildSupplyRequestEncounterExtension(encounter) {
|
|
37
|
+
return {
|
|
38
|
+
url: exports.SUPPLY_REQUEST_ENCOUNTER_EXTENSION_URL,
|
|
39
|
+
valueReference: encounter,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Returns the encounter reference (`Encounter/<id>`) a SupplyRequest belongs
|
|
44
|
+
* to, or null when the extension is absent.
|
|
45
|
+
*/
|
|
46
|
+
function getSupplyRequestEncounter(supplyRequest) {
|
|
47
|
+
const extension = supplyRequest.extension?.find((ext) => ext.url === exports.SUPPLY_REQUEST_ENCOUNTER_EXTENSION_URL);
|
|
48
|
+
return extension?.valueReference?.reference ?? null;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGx5LXJlcXVlc3QtZW5jb3VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4dGVuc2lvbnMvb24tc2l0ZS1tZWRpY2FsL3N1cHBseS1yZXF1ZXN0LWVuY291bnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF3Q0Esb0ZBT0M7QUFNRCw4REFPQztBQTVERDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsNkJBQXdCO0FBR3hCLG9EQUF1RDtBQUd2RCx5RUFBeUU7QUFDNUQsUUFBQSxzQ0FBc0MsR0FDakQsK0VBQXdGLENBQUM7QUFFOUUsUUFBQSxxQ0FBcUMsR0FBRyxPQUFDO0tBQ25ELE1BQU0sQ0FBQztJQUNOLEdBQUcsRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLDhDQUFzQyxDQUFDO0lBQ3RELGNBQWMsRUFBRSwyQkFBZTtDQUNoQyxDQUFDO0tBQ0QsV0FBVyxFQUFFLENBQUM7QUFLakIsNEVBQTRFO0FBQzVFLFNBQWdCLG9DQUFvQyxDQUNsRCxTQUFvQjtJQUVwQixPQUFPO1FBQ0wsR0FBRyxFQUFFLDhDQUFzQztRQUMzQyxjQUFjLEVBQUUsU0FBUztLQUMxQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLHlCQUF5QixDQUN2QyxhQUE0QjtJQUU1QixNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FDN0MsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssOENBQXNDLENBQzVELENBQUM7SUFDRixPQUFPLFNBQVMsRUFBRSxjQUFjLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIYW5kLWF1dGhvcmVkIGNvbnRyYWN0IGZvciB0aGUgYHN1cHBseS1yZXF1ZXN0LWVuY291bnRlcmAgZXh0ZW5zaW9uIOKAlFxuICogdGhlIGBFbmNvdW50ZXJgIGEgYFN1cHBseVJlcXVlc3RgIGJlbG9uZ3MgdG8uXG4gKlxuICogKipXaHkgaXQgZXhpc3RzOioqIG5laXRoZXIgRkhJUiBSNCBub3IgUjUgZ2l2ZXMgYFN1cHBseVJlcXVlc3RgIGFuXG4gKiBgZW5jb3VudGVyYCBmaWVsZCAoUjUgYWRkcyBvbmx5IGBkZWxpdmVyRm9yYCDihpIgUGF0aWVudCkuIFRoZVxuICogb24tc2l0ZS1tZWRpY2FsIGZyb250ZW5kIGNhcnJpZXMgdGhlIGVuY291bnRlciByZWZlcmVuY2UgaW4gdGhpcyBuYXJyb3dcbiAqIGN1c3RvbSBleHRlbnNpb24gc28gc3VwcGx5IG9yZGVycyBjYW4gYmUgZmlsdGVyZWQgYnkgdmlzaXQg4oCUIGFuZCwgZm9yXG4gKiBmYWNpbGl0eSBvcmRlcnMgKGBkZWxpdmVyVG9gID0gTG9jYXRpb24sIG5vdCBQYXRpZW50KSwgaXQgaXMgdGhlIG9ubHkgcGF0aFxuICogZnJvbSB0aGUgb3JkZXIgdG8gaXRzIHBhdGllbnQgKG9yZGVyIOKGkiBFbmNvdW50ZXIg4oaSIGBFbmNvdW50ZXIuc3ViamVjdGApLlxuICpcbiAqICoqTmFtZXNwYWNlIHByb3ZlbmFuY2U6KiogYG9uLXNpdGUtbWVkaWNhbC5hcHBgIOKAlCB0aGUgY29udHJhY3Qgb3JpZ2luYXRlZFxuICogaW4gdGhlIGZyb250ZW5kIGFuZCBsaXZlIGRhdGEgYWxyZWFkeSBjYXJyaWVzIGl0IChmcm96ZW4pLiBUaGlzIG1vZHVsZSBpc1xuICogdGhlIHNpbmdsZSBzaGFyZWQgZGVmaW5pdGlvbjogdGhlIGZyb250ZW5kIHdyaXRlcyB0aGUgZXh0ZW5zaW9uLCBhbmQgdGhlXG4gKiBPcGVuSEkgYmFja2VuZCdzIGBTdXBwbHlSZXF1ZXN0ID9lbmNvdW50ZXI9YCBzZWFyY2ggZmlsdGVyIG1hdGNoZXMgYWdhaW5zdFxuICogdGhpcyBzYW1lIFVSTCwgc28gdGhlIHR3byBjYW5ub3QgZHJpZnQuXG4gKlxuICogQHNlZSBzaXRlcy9hcHAtZWhyL2RvY3MvZmhpci9leHRlbnNpb25zL3N1cHBseS1yZXF1ZXN0LWVuY291bnRlci5tZFxuICovXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHR5cGUgeyBFeHRlbnNpb24gfSBmcm9tIFwiLi4vLi4vZGF0YS9leHRlbnNpb25cIjtcbmltcG9ydCB0eXBlIHsgUmVmZXJlbmNlIH0gZnJvbSBcIi4uLy4uL2RhdGEvcmVmZXJlbmNlXCI7XG5pbXBvcnQgeyByZWZlcmVuY2VTY2hlbWEgfSBmcm9tIFwiLi4vLi4vZGF0YS9yZWZlcmVuY2VcIjtcbmltcG9ydCB0eXBlIHsgU3VwcGx5UmVxdWVzdCB9IGZyb20gXCIuLi8uLi9kYXRhL3N1cHBseXJlcXVlc3RcIjtcblxuLyoqIGBTdXBwbHlSZXF1ZXN0LmV4dGVuc2lvbi51cmxgIGNhcnJ5aW5nIHRoZSBgUmVmZXJlbmNlKEVuY291bnRlcilgLiAqL1xuZXhwb3J0IGNvbnN0IFNVUFBMWV9SRVFVRVNUX0VOQ09VTlRFUl9FWFRFTlNJT05fVVJMID1cbiAgXCJodHRwczovL29uLXNpdGUtbWVkaWNhbC5hcHAvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3N1cHBseS1yZXF1ZXN0LWVuY291bnRlclwiIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgc3VwcGx5UmVxdWVzdEVuY291bnRlckV4dGVuc2lvblNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgdXJsOiB6LmxpdGVyYWwoU1VQUExZX1JFUVVFU1RfRU5DT1VOVEVSX0VYVEVOU0lPTl9VUkwpLFxuICAgIHZhbHVlUmVmZXJlbmNlOiByZWZlcmVuY2VTY2hlbWEsXG4gIH0pXG4gIC5wYXNzdGhyb3VnaCgpO1xuZXhwb3J0IHR5cGUgU3VwcGx5UmVxdWVzdEVuY291bnRlckV4dGVuc2lvbiA9IHouaW5mZXI8XG4gIHR5cGVvZiBzdXBwbHlSZXF1ZXN0RW5jb3VudGVyRXh0ZW5zaW9uU2NoZW1hXG4+O1xuXG4vKiogQnVpbGQgdGhlIGV4dGVuc2lvbiBjYXJyeWluZyB0aGUgZW5jb3VudGVyIGEgc3VwcGx5IG9yZGVyIGJlbG9uZ3MgdG8uICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTdXBwbHlSZXF1ZXN0RW5jb3VudGVyRXh0ZW5zaW9uKFxuICBlbmNvdW50ZXI6IFJlZmVyZW5jZSxcbik6IEV4dGVuc2lvbiB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBTVVBQTFlfUkVRVUVTVF9FTkNPVU5URVJfRVhURU5TSU9OX1VSTCxcbiAgICB2YWx1ZVJlZmVyZW5jZTogZW5jb3VudGVyLFxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGVuY291bnRlciByZWZlcmVuY2UgKGBFbmNvdW50ZXIvPGlkPmApIGEgU3VwcGx5UmVxdWVzdCBiZWxvbmdzXG4gKiB0bywgb3IgbnVsbCB3aGVuIHRoZSBleHRlbnNpb24gaXMgYWJzZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3VwcGx5UmVxdWVzdEVuY291bnRlcihcbiAgc3VwcGx5UmVxdWVzdDogU3VwcGx5UmVxdWVzdCxcbik6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCBleHRlbnNpb24gPSBzdXBwbHlSZXF1ZXN0LmV4dGVuc2lvbj8uZmluZChcbiAgICAoZXh0KSA9PiBleHQudXJsID09PSBTVVBQTFlfUkVRVUVTVF9FTkNPVU5URVJfRVhURU5TSU9OX1VSTCxcbiAgKTtcbiAgcmV0dXJuIGV4dGVuc2lvbj8udmFsdWVSZWZlcmVuY2U/LnJlZmVyZW5jZSA/PyBudWxsO1xufVxuIl19
|
package/package.json
CHANGED