@medplum/core 2.0.22 → 2.0.24

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.
Files changed (62) hide show
  1. package/dist/cjs/index.cjs +14080 -13218
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/index.min.cjs +1 -1
  4. package/dist/esm/access.mjs +142 -0
  5. package/dist/esm/access.mjs.map +1 -0
  6. package/dist/esm/bundle.mjs +3 -3
  7. package/dist/esm/bundle.mjs.map +1 -1
  8. package/dist/esm/client.mjs +111 -34
  9. package/dist/esm/client.mjs.map +1 -1
  10. package/dist/esm/fhirlexer/parse.mjs.map +1 -1
  11. package/dist/esm/fhirlexer/tokenize.mjs +2 -2
  12. package/dist/esm/fhirlexer/tokenize.mjs.map +1 -1
  13. package/dist/esm/fhirmapper/parse.mjs +1 -1
  14. package/dist/esm/fhirmapper/parse.mjs.map +1 -1
  15. package/dist/esm/fhirpath/atoms.mjs +63 -56
  16. package/dist/esm/fhirpath/atoms.mjs.map +1 -1
  17. package/dist/esm/fhirpath/functions.mjs +196 -128
  18. package/dist/esm/fhirpath/functions.mjs.map +1 -1
  19. package/dist/esm/fhirpath/parse.mjs +6 -3
  20. package/dist/esm/fhirpath/parse.mjs.map +1 -1
  21. package/dist/esm/fhirpath/utils.mjs +4 -5
  22. package/dist/esm/fhirpath/utils.mjs.map +1 -1
  23. package/dist/esm/format.mjs +1 -1
  24. package/dist/esm/format.mjs.map +1 -1
  25. package/dist/esm/hl7.mjs +6 -6
  26. package/dist/esm/hl7.mjs.map +1 -1
  27. package/dist/esm/index.min.mjs +1 -1
  28. package/dist/esm/index.mjs +5 -2
  29. package/dist/esm/index.mjs.map +1 -1
  30. package/dist/esm/outcomes.mjs +51 -24
  31. package/dist/esm/outcomes.mjs.map +1 -1
  32. package/dist/esm/readablepromise.mjs +1 -1
  33. package/dist/esm/readablepromise.mjs.map +1 -1
  34. package/dist/esm/schema.mjs +1 -1
  35. package/dist/esm/schema.mjs.map +1 -1
  36. package/dist/esm/search/details.mjs +18 -20
  37. package/dist/esm/search/details.mjs.map +1 -1
  38. package/dist/esm/search/match.mjs +7 -5
  39. package/dist/esm/search/match.mjs.map +1 -1
  40. package/dist/esm/search/search.mjs +14 -5
  41. package/dist/esm/search/search.mjs.map +1 -1
  42. package/dist/esm/types.mjs +1 -1
  43. package/dist/esm/types.mjs.map +1 -1
  44. package/dist/esm/typeschema/types.mjs +278 -0
  45. package/dist/esm/typeschema/types.mjs.map +1 -0
  46. package/dist/esm/typeschema/validation.mjs +262 -0
  47. package/dist/esm/typeschema/validation.mjs.map +1 -0
  48. package/dist/esm/utils.mjs +3 -3
  49. package/dist/esm/utils.mjs.map +1 -1
  50. package/dist/types/access.d.ts +48 -0
  51. package/dist/types/client.d.ts +69 -25
  52. package/dist/types/fhirlexer/parse.d.ts +12 -7
  53. package/dist/types/fhirpath/atoms.d.ts +21 -21
  54. package/dist/types/fhirpath/functions.d.ts +2 -4
  55. package/dist/types/fhirpath/parse.d.ts +2 -1
  56. package/dist/types/index.d.ts +3 -0
  57. package/dist/types/outcomes.d.ts +10 -2
  58. package/dist/types/search/search.d.ts +7 -0
  59. package/dist/types/typeschema/types.d.ts +5 -2
  60. package/dist/types/typeschema/validation.d.ts +2 -0
  61. package/dist/types/utils.d.ts +1 -8
  62. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { OperationOutcome } from '@medplum/fhirtypes';
1
+ import { OperationOutcome, OperationOutcomeIssue } from '@medplum/fhirtypes';
2
2
  export declare const allOk: OperationOutcome;
3
3
  export declare const created: OperationOutcome;
4
4
  export declare const notModified: OperationOutcome;
@@ -7,11 +7,13 @@ export declare const unauthorized: OperationOutcome;
7
7
  export declare const forbidden: OperationOutcome;
8
8
  export declare const gone: OperationOutcome;
9
9
  export declare const tooManyRequests: OperationOutcome;
10
- export declare const accepted: OperationOutcome;
10
+ export declare function accepted(location: string): OperationOutcome;
11
11
  export declare function badRequest(details: string, expression?: string): OperationOutcome;
12
12
  export declare function validationError(details: string): OperationOutcome;
13
+ export declare function serverError(err: Error): OperationOutcome;
13
14
  export declare function isOperationOutcome(value: unknown): value is OperationOutcome;
14
15
  export declare function isOk(outcome: OperationOutcome): boolean;
16
+ export declare function isAccepted(outcome: OperationOutcome): boolean;
15
17
  export declare function isNotFound(outcome: OperationOutcome): boolean;
16
18
  export declare function isGone(outcome: OperationOutcome): boolean;
17
19
  export declare function getStatus(outcome: OperationOutcome): number;
@@ -43,3 +45,9 @@ export declare function normalizeErrorString(error: unknown): string;
43
45
  * @returns The string representation of the operation outcome.
44
46
  */
45
47
  export declare function operationOutcomeToString(outcome: OperationOutcome): string;
48
+ /**
49
+ * Returns a string represenation of the operation outcome issue.
50
+ * @param issue The operation outcome issue.
51
+ * @returns The string representation of the operation outcome issue.
52
+ */
53
+ export declare function operationOutcomeIssueToString(issue: OperationOutcomeIssue): string;
@@ -76,6 +76,13 @@ export declare function parseSearchUrl<T extends Resource = Resource>(url: URL):
76
76
  * @returns Parsed search definition.
77
77
  */
78
78
  export declare function parseSearchDefinition<T extends Resource = Resource>(url: string): SearchRequest<T>;
79
+ /**
80
+ * Parses a FHIR criteria string into a SearchRequest.
81
+ * FHIR criteria strings are found on resources such as Subscription.
82
+ * @param criteria The FHIR criteria string.
83
+ * @returns Parsed search definition.
84
+ */
85
+ export declare function parseCriteriaAsSearchRequest(criteria: string): SearchRequest;
79
86
  /**
80
87
  * Formats a search definition object into a query string.
81
88
  * Note: The return value does not include the resource type.
@@ -1,12 +1,13 @@
1
- import { ResourceType, StructureDefinition } from '@medplum/fhirtypes';
1
+ import { Bundle, StructureDefinition } from '@medplum/fhirtypes';
2
2
  import { TypedValue } from '../types';
3
3
  /**
4
4
  * Internal representation of a non-primitive FHIR type, suitable for use in resource validation
5
5
  */
6
6
  export interface InternalTypeSchema {
7
- name: ResourceType;
7
+ name: string;
8
8
  fields: Record<string, ElementValidator>;
9
9
  constraints: Constraint[];
10
+ innerTypes: InternalTypeSchema[];
10
11
  }
11
12
  export interface ElementValidator {
12
13
  min: number;
@@ -53,3 +54,5 @@ export interface SliceDiscriminator {
53
54
  * @experimental
54
55
  */
55
56
  export declare function parseStructureDefinition(sd: StructureDefinition): InternalTypeSchema;
57
+ export declare function loadDataTypes(bundle: Bundle<StructureDefinition>): void;
58
+ export declare function getDataType(type: string): InternalTypeSchema;
@@ -0,0 +1,2 @@
1
+ import { Resource, StructureDefinition } from '@medplum/fhirtypes';
2
+ export declare function validateResource(resource: Resource, profile?: StructureDefinition): void;
@@ -1,15 +1,8 @@
1
- import { CodeableConcept, Extension, ObservationDefinition, ObservationDefinitionQualifiedInterval, Patient, Practitioner, ProjectMembership, QuestionnaireResponse, QuestionnaireResponseItemAnswer, Range, Reference, RelatedPerson, Resource } from '@medplum/fhirtypes';
1
+ import { CodeableConcept, Extension, ObservationDefinition, ObservationDefinitionQualifiedInterval, Patient, Practitioner, QuestionnaireResponse, QuestionnaireResponseItemAnswer, Range, Reference, RelatedPerson, Resource } from '@medplum/fhirtypes';
2
2
  /**
3
3
  * @internal
4
4
  */
5
5
  export type ProfileResource = Patient | Practitioner | RelatedPerson;
6
- /**
7
- * @internal
8
- */
9
- export interface InviteResult {
10
- profile: ProfileResource;
11
- membership: ProjectMembership;
12
- }
13
6
  interface Code {
14
7
  code?: CodeableConcept;
15
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medplum/core",
3
- "version": "2.0.22",
3
+ "version": "2.0.24",
4
4
  "description": "Medplum TS/JS Library",
5
5
  "author": "Medplum <hello@medplum.com>",
6
6
  "license": "Apache-2.0",