@openhi/types 0.0.45 → 0.0.47
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/data/organization-role.d.ts +7 -7
- package/lib/data/organization-role.js +8 -8
- package/lib/extensions/on-site-medical/index.d.ts +1 -0
- package/lib/extensions/on-site-medical/index.js +2 -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/package.json +1 -1
|
@@ -5,12 +5,12 @@ export declare const ORGANIZATION_ROLE_CODE: {
|
|
|
5
5
|
readonly CARE_COORDINATOR: "care-coordinator";
|
|
6
6
|
readonly CLINICAL_COORDINATOR: "clinical-coordinator";
|
|
7
7
|
readonly INTAKE_SPECIALIST: "intake-specialist";
|
|
8
|
-
readonly
|
|
8
|
+
readonly PROVIDER: "provider";
|
|
9
9
|
readonly SCHEDULER: "scheduler";
|
|
10
10
|
readonly SCRIBE: "scribe";
|
|
11
11
|
};
|
|
12
12
|
export type OrganizationRoleCode = (typeof ORGANIZATION_ROLE_CODE)[keyof typeof ORGANIZATION_ROLE_CODE];
|
|
13
|
-
export declare const organizationRoleCodeSchema: z.ZodEnum<["biller", "billing-admin", "care-coordinator", "clinical-coordinator", "intake-specialist", "
|
|
13
|
+
export declare const organizationRoleCodeSchema: z.ZodEnum<["biller", "billing-admin", "care-coordinator", "clinical-coordinator", "intake-specialist", "provider", "scheduler", "scribe"]>;
|
|
14
14
|
export declare const ORGANIZATION_ROLE_CONCEPTS: {
|
|
15
15
|
readonly BILLER: {
|
|
16
16
|
readonly code: "biller";
|
|
@@ -37,10 +37,10 @@ export declare const ORGANIZATION_ROLE_CONCEPTS: {
|
|
|
37
37
|
readonly display: "Intake Specialist";
|
|
38
38
|
readonly definition: "Workspace-scoped operational role authorized to manage patient intake — registration, demographics capture, insurance verification, pre-service paperwork.";
|
|
39
39
|
};
|
|
40
|
-
readonly
|
|
41
|
-
readonly code: "
|
|
42
|
-
readonly display: "
|
|
43
|
-
readonly definition: "Clinical or domain
|
|
40
|
+
readonly PROVIDER: {
|
|
41
|
+
readonly code: "provider";
|
|
42
|
+
readonly display: "Provider";
|
|
43
|
+
readonly definition: "Clinical or domain provider (clinician) operating in the workspace.";
|
|
44
44
|
};
|
|
45
45
|
readonly SCHEDULER: {
|
|
46
46
|
readonly code: "scheduler";
|
|
@@ -50,7 +50,7 @@ export declare const ORGANIZATION_ROLE_CONCEPTS: {
|
|
|
50
50
|
readonly SCRIBE: {
|
|
51
51
|
readonly code: "scribe";
|
|
52
52
|
readonly display: "Scribe";
|
|
53
|
-
readonly definition: "Documentation-support role authorized to author and edit encounters and notes on behalf of a
|
|
53
|
+
readonly definition: "Documentation-support role authorized to author and edit encounters and notes on behalf of a provider.";
|
|
54
54
|
};
|
|
55
55
|
};
|
|
56
56
|
export type OrganizationRoleConcept = (typeof ORGANIZATION_ROLE_CONCEPTS)[keyof typeof ORGANIZATION_ROLE_CONCEPTS];
|
|
@@ -10,7 +10,7 @@ exports.ORGANIZATION_ROLE_CODE = {
|
|
|
10
10
|
CARE_COORDINATOR: "care-coordinator",
|
|
11
11
|
CLINICAL_COORDINATOR: "clinical-coordinator",
|
|
12
12
|
INTAKE_SPECIALIST: "intake-specialist",
|
|
13
|
-
|
|
13
|
+
PROVIDER: "provider",
|
|
14
14
|
SCHEDULER: "scheduler",
|
|
15
15
|
SCRIBE: "scribe",
|
|
16
16
|
};
|
|
@@ -20,7 +20,7 @@ exports.organizationRoleCodeSchema = zod_1.z.enum([
|
|
|
20
20
|
"care-coordinator",
|
|
21
21
|
"clinical-coordinator",
|
|
22
22
|
"intake-specialist",
|
|
23
|
-
"
|
|
23
|
+
"provider",
|
|
24
24
|
"scheduler",
|
|
25
25
|
"scribe",
|
|
26
26
|
]);
|
|
@@ -50,10 +50,10 @@ exports.ORGANIZATION_ROLE_CONCEPTS = {
|
|
|
50
50
|
display: "Intake Specialist",
|
|
51
51
|
definition: "Workspace-scoped operational role authorized to manage patient intake — registration, demographics capture, insurance verification, pre-service paperwork.",
|
|
52
52
|
},
|
|
53
|
-
|
|
54
|
-
code: "
|
|
55
|
-
display: "
|
|
56
|
-
definition: "Clinical or domain
|
|
53
|
+
PROVIDER: {
|
|
54
|
+
code: "provider",
|
|
55
|
+
display: "Provider",
|
|
56
|
+
definition: "Clinical or domain provider (clinician) operating in the workspace.",
|
|
57
57
|
},
|
|
58
58
|
SCHEDULER: {
|
|
59
59
|
code: "scheduler",
|
|
@@ -63,7 +63,7 @@ exports.ORGANIZATION_ROLE_CONCEPTS = {
|
|
|
63
63
|
SCRIBE: {
|
|
64
64
|
code: "scribe",
|
|
65
65
|
display: "Scribe",
|
|
66
|
-
definition: "Documentation-support role authorized to author and edit encounters and notes on behalf of a
|
|
66
|
+
definition: "Documentation-support role authorized to author and edit encounters and notes on behalf of a provider.",
|
|
67
67
|
},
|
|
68
68
|
};
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemF0aW9uLXJvbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS9vcmdhbml6YXRpb24tcm9sZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscURBQXFEO0FBQ3JELGtFQUFrRTs7O0FBRWxFLDZCQUF3QjtBQUVYLFFBQUEsc0JBQXNCLEdBQUc7SUFDcEMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsYUFBYSxFQUFFLGVBQWU7SUFDOUIsZ0JBQWdCLEVBQUUsa0JBQWtCO0lBQ3BDLG9CQUFvQixFQUFFLHNCQUFzQjtJQUM1QyxpQkFBaUIsRUFBRSxtQkFBbUI7SUFDdEMsUUFBUSxFQUFFLFVBQVU7SUFDcEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsTUFBTSxFQUFFLFFBQVE7Q0FDUixDQUFDO0FBR0UsUUFBQSwwQkFBMEIsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9DLFFBQVE7SUFDUixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLFdBQVc7SUFDWCxRQUFRO0NBQ1QsQ0FBQyxDQUFDO0FBRVUsUUFBQSwwQkFBMEIsR0FBRztJQUN4QyxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFVBQVUsRUFDUix3T0FBd087S0FDM087SUFDRCxhQUFhLEVBQUU7UUFDYixJQUFJLEVBQUUsZUFBZTtRQUNyQixPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLFVBQVUsRUFDUiwrS0FBK0s7S0FDbEw7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsVUFBVSxFQUNSLDZRQUE2UTtLQUNoUjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixVQUFVLEVBQ1Isd01BQXdNO0tBQzNNO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLFVBQVUsRUFDUiw0SkFBNEo7S0FDL0o7SUFDRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsVUFBVTtRQUNoQixPQUFPLEVBQUUsVUFBVTtRQUNuQixVQUFVLEVBQ1IscUVBQXFFO0tBQ3hFO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLFdBQVc7UUFDcEIsVUFBVSxFQUNSLHdKQUF3SjtLQUMzSjtJQUNELE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLFFBQVE7UUFDakIsVUFBVSxFQUNSLHdHQUF3RztLQUMzRztDQUNPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUSElTIEZJTEUgSVMgR0VORVJBVEVEIGJ5IEBvcGVuaGkvdHlwZXMtZ2VuZXJhdG9yLlxuLy8gRG8gbm90IGVkaXQuIEVkaXQgc2RzLyBvciBnZW5lcmF0b3ItY29uZmlnLnlhbWwgYW5kIHJlZ2VuZXJhdGUuXG5cbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbmV4cG9ydCBjb25zdCBPUkdBTklaQVRJT05fUk9MRV9DT0RFID0ge1xuICBCSUxMRVI6IFwiYmlsbGVyXCIsXG4gIEJJTExJTkdfQURNSU46IFwiYmlsbGluZy1hZG1pblwiLFxuICBDQVJFX0NPT1JESU5BVE9SOiBcImNhcmUtY29vcmRpbmF0b3JcIixcbiAgQ0xJTklDQUxfQ09PUkRJTkFUT1I6IFwiY2xpbmljYWwtY29vcmRpbmF0b3JcIixcbiAgSU5UQUtFX1NQRUNJQUxJU1Q6IFwiaW50YWtlLXNwZWNpYWxpc3RcIixcbiAgUFJPVklERVI6IFwicHJvdmlkZXJcIixcbiAgU0NIRURVTEVSOiBcInNjaGVkdWxlclwiLFxuICBTQ1JJQkU6IFwic2NyaWJlXCIsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgT3JnYW5pemF0aW9uUm9sZUNvZGUgPVxuICAodHlwZW9mIE9SR0FOSVpBVElPTl9ST0xFX0NPREUpW2tleW9mIHR5cGVvZiBPUkdBTklaQVRJT05fUk9MRV9DT0RFXTtcbmV4cG9ydCBjb25zdCBvcmdhbml6YXRpb25Sb2xlQ29kZVNjaGVtYSA9IHouZW51bShbXG4gIFwiYmlsbGVyXCIsXG4gIFwiYmlsbGluZy1hZG1pblwiLFxuICBcImNhcmUtY29vcmRpbmF0b3JcIixcbiAgXCJjbGluaWNhbC1jb29yZGluYXRvclwiLFxuICBcImludGFrZS1zcGVjaWFsaXN0XCIsXG4gIFwicHJvdmlkZXJcIixcbiAgXCJzY2hlZHVsZXJcIixcbiAgXCJzY3JpYmVcIixcbl0pO1xuXG5leHBvcnQgY29uc3QgT1JHQU5JWkFUSU9OX1JPTEVfQ09OQ0VQVFMgPSB7XG4gIEJJTExFUjoge1xuICAgIGNvZGU6IFwiYmlsbGVyXCIsXG4gICAgZGlzcGxheTogXCJCaWxsZXJcIixcbiAgICBkZWZpbml0aW9uOlxuICAgICAgXCJXb3Jrc3BhY2Utc2NvcGVkIG9wZXJhdGlvbmFsIHJvbGUgYXV0aG9yaXplZCB0byBwcmVwYXJlLCBzdWJtaXQsIGFuZCBmb2xsb3cgdXAgb24gY2xhaW1zLCBwb3N0IHBheW1lbnRzLCBhbmQgd29yayB0aGUgQVIgcXVldWUuIERpc3RpbmN0IGZyb20gYGJpbGxpbmctYWRtaW5gICh3aGljaCBjb25maWd1cmVzIHRoZSBiaWxsaW5nIHByb2dyYW0pOyBgYmlsbGVyYCBleGVjdXRlcyBpdCBkYXktdG8tZGF5LlwiLFxuICB9LFxuICBCSUxMSU5HX0FETUlOOiB7XG4gICAgY29kZTogXCJiaWxsaW5nLWFkbWluXCIsXG4gICAgZGlzcGxheTogXCJCaWxsaW5nIEFkbWluaXN0cmF0b3JcIixcbiAgICBkZWZpbml0aW9uOlxuICAgICAgXCJXb3Jrc3BhY2Utc2NvcGVkIGFkbWluaXN0cmF0aXZlIHJvbGUgYXV0aG9yaXplZCB0byBtYW5hZ2UgYmlsbGluZyBvcGVyYXRpb25zLCBwYXllciByZWxhdGlvbnNoaXBzLCBmZWUgc2NoZWR1bGVzLCBhbmQgdGhlIGZpbmFuY2lhbCB3b3JrZmxvdyBjb25maWd1cmF0aW9uIGZvciB0aGUgd29ya3NwYWNlLlwiLFxuICB9LFxuICBDQVJFX0NPT1JESU5BVE9SOiB7XG4gICAgY29kZTogXCJjYXJlLWNvb3JkaW5hdG9yXCIsXG4gICAgZGlzcGxheTogXCJDYXJlIENvb3JkaW5hdG9yXCIsXG4gICAgZGVmaW5pdGlvbjpcbiAgICAgIFwiV29ya3NwYWNlLXNjb3BlZCByb2xlIGF1dGhvcml6ZWQgdG8gY29vcmRpbmF0ZSBhIHBhdGllbnQncyBjYXJlIGFjcm9zcyBlbmNvdW50ZXJzIGFuZCBleHRlcm5hbCBwcm92aWRlcnMuIERpc3RpbmN0IGZyb20gYGNsaW5pY2FsLWNvb3JkaW5hdG9yYCAod2hpY2ggY29vcmRpbmF0ZXMgdGhlIHdvcmtzcGFjZSdzIGludGVybmFsIG9wZXJhdGlvbnMpOyBgY2FyZS1jb29yZGluYXRvcmAgY29vcmRpbmF0ZXMgdGhlIHBhdGllbnQncyBleHRlcm5hbCBjYXJlIGpvdXJuZXkuXCIsXG4gIH0sXG4gIENMSU5JQ0FMX0NPT1JESU5BVE9SOiB7XG4gICAgY29kZTogXCJjbGluaWNhbC1jb29yZGluYXRvclwiLFxuICAgIGRpc3BsYXk6IFwiQ2xpbmljYWwgQ29vcmRpbmF0b3JcIixcbiAgICBkZWZpbml0aW9uOlxuICAgICAgXCJXb3Jrc3BhY2Utc2NvcGVkIHJvbGUgYXV0aG9yaXplZCB0byBjb29yZGluYXRlIHRoZSBkYXktdG8tZGF5IGNsaW5pY2FsIG9wZXJhdGlvbnMgb2YgYSB3b3Jrc3BhY2Ug4oCUIHByYWN0aXRpb25lciBhc3NpZ25tZW50cywgcm9vbSBhbmQgcmVzb3VyY2UgYWxsb2NhdGlvbiwgY2FyZS10ZWFtIGNvb3JkaW5hdGlvbiB3aXRoaW4gdGhlIHByYWN0aWNlLlwiLFxuICB9LFxuICBJTlRBS0VfU1BFQ0lBTElTVDoge1xuICAgIGNvZGU6IFwiaW50YWtlLXNwZWNpYWxpc3RcIixcbiAgICBkaXNwbGF5OiBcIkludGFrZSBTcGVjaWFsaXN0XCIsXG4gICAgZGVmaW5pdGlvbjpcbiAgICAgIFwiV29ya3NwYWNlLXNjb3BlZCBvcGVyYXRpb25hbCByb2xlIGF1dGhvcml6ZWQgdG8gbWFuYWdlIHBhdGllbnQgaW50YWtlIOKAlCByZWdpc3RyYXRpb24sIGRlbW9ncmFwaGljcyBjYXB0dXJlLCBpbnN1cmFuY2UgdmVyaWZpY2F0aW9uLCBwcmUtc2VydmljZSBwYXBlcndvcmsuXCIsXG4gIH0sXG4gIFBST1ZJREVSOiB7XG4gICAgY29kZTogXCJwcm92aWRlclwiLFxuICAgIGRpc3BsYXk6IFwiUHJvdmlkZXJcIixcbiAgICBkZWZpbml0aW9uOlxuICAgICAgXCJDbGluaWNhbCBvciBkb21haW4gcHJvdmlkZXIgKGNsaW5pY2lhbikgb3BlcmF0aW5nIGluIHRoZSB3b3Jrc3BhY2UuXCIsXG4gIH0sXG4gIFNDSEVEVUxFUjoge1xuICAgIGNvZGU6IFwic2NoZWR1bGVyXCIsXG4gICAgZGlzcGxheTogXCJTY2hlZHVsZXJcIixcbiAgICBkZWZpbml0aW9uOlxuICAgICAgXCJXb3Jrc3BhY2Utc2NvcGVkIG9wZXJhdGlvbmFsIHJvbGUgYXV0aG9yaXplZCB0byBtYW5hZ2UgdGhlIHdvcmtzcGFjZSdzIGFwcG9pbnRtZW50IGJvb2sgYW5kIG1haW50YWluIHByYWN0aXRpb25lciBhdmFpbGFiaWxpdHkgYW5kIHNjaGVkdWxlIHRlbXBsYXRlcy5cIixcbiAgfSxcbiAgU0NSSUJFOiB7XG4gICAgY29kZTogXCJzY3JpYmVcIixcbiAgICBkaXNwbGF5OiBcIlNjcmliZVwiLFxuICAgIGRlZmluaXRpb246XG4gICAgICBcIkRvY3VtZW50YXRpb24tc3VwcG9ydCByb2xlIGF1dGhvcml6ZWQgdG8gYXV0aG9yIGFuZCBlZGl0IGVuY291bnRlcnMgYW5kIG5vdGVzIG9uIGJlaGFsZiBvZiBhIHByb3ZpZGVyLlwiLFxuICB9LFxufSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIE9yZ2FuaXphdGlvblJvbGVDb25jZXB0ID1cbiAgKHR5cGVvZiBPUkdBTklaQVRJT05fUk9MRV9DT05DRVBUUylba2V5b2YgdHlwZW9mIE9SR0FOSVpBVElPTl9ST0xFX0NPTkNFUFRTXTtcbiJdfQ==
|
|
@@ -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,
|
|
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