@the-cascade-protocol/sdk 1.0.0

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 (131) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +164 -0
  3. package/dist/consent/consent-filter.d.ts +21 -0
  4. package/dist/consent/consent-filter.d.ts.map +1 -0
  5. package/dist/consent/consent-filter.js +71 -0
  6. package/dist/consent/consent-filter.js.map +1 -0
  7. package/dist/consent/index.d.ts +2 -0
  8. package/dist/consent/index.d.ts.map +1 -0
  9. package/dist/consent/index.js +2 -0
  10. package/dist/consent/index.js.map +1 -0
  11. package/dist/deserializer/index.d.ts +7 -0
  12. package/dist/deserializer/index.d.ts.map +1 -0
  13. package/dist/deserializer/index.js +7 -0
  14. package/dist/deserializer/index.js.map +1 -0
  15. package/dist/deserializer/turtle-parser.d.ts +47 -0
  16. package/dist/deserializer/turtle-parser.d.ts.map +1 -0
  17. package/dist/deserializer/turtle-parser.js +840 -0
  18. package/dist/deserializer/turtle-parser.js.map +1 -0
  19. package/dist/index.d.ts +42 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +34 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/jsonld/context.d.ts +29 -0
  24. package/dist/jsonld/context.d.ts.map +1 -0
  25. package/dist/jsonld/context.js +95 -0
  26. package/dist/jsonld/context.js.map +1 -0
  27. package/dist/jsonld/converter.d.ts +50 -0
  28. package/dist/jsonld/converter.d.ts.map +1 -0
  29. package/dist/jsonld/converter.js +139 -0
  30. package/dist/jsonld/converter.js.map +1 -0
  31. package/dist/jsonld/index.d.ts +8 -0
  32. package/dist/jsonld/index.d.ts.map +1 -0
  33. package/dist/jsonld/index.js +8 -0
  34. package/dist/jsonld/index.js.map +1 -0
  35. package/dist/models/activity-snapshot.d.ts +49 -0
  36. package/dist/models/activity-snapshot.d.ts.map +1 -0
  37. package/dist/models/activity-snapshot.js +13 -0
  38. package/dist/models/activity-snapshot.js.map +1 -0
  39. package/dist/models/allergy.d.ts +49 -0
  40. package/dist/models/allergy.d.ts.map +1 -0
  41. package/dist/models/allergy.js +13 -0
  42. package/dist/models/allergy.js.map +1 -0
  43. package/dist/models/common.d.ts +174 -0
  44. package/dist/models/common.d.ts.map +1 -0
  45. package/dist/models/common.js +12 -0
  46. package/dist/models/common.js.map +1 -0
  47. package/dist/models/condition.d.ts +59 -0
  48. package/dist/models/condition.d.ts.map +1 -0
  49. package/dist/models/condition.js +13 -0
  50. package/dist/models/condition.js.map +1 -0
  51. package/dist/models/coverage.d.ts +117 -0
  52. package/dist/models/coverage.d.ts.map +1 -0
  53. package/dist/models/coverage.js +16 -0
  54. package/dist/models/coverage.js.map +1 -0
  55. package/dist/models/family-history.d.ts +38 -0
  56. package/dist/models/family-history.d.ts.map +1 -0
  57. package/dist/models/family-history.js +13 -0
  58. package/dist/models/family-history.js.map +1 -0
  59. package/dist/models/health-profile.d.ts +54 -0
  60. package/dist/models/health-profile.d.ts.map +1 -0
  61. package/dist/models/health-profile.js +11 -0
  62. package/dist/models/health-profile.js.map +1 -0
  63. package/dist/models/immunization.d.ts +78 -0
  64. package/dist/models/immunization.d.ts.map +1 -0
  65. package/dist/models/immunization.js +12 -0
  66. package/dist/models/immunization.js.map +1 -0
  67. package/dist/models/index.d.ts +20 -0
  68. package/dist/models/index.d.ts.map +1 -0
  69. package/dist/models/index.js +7 -0
  70. package/dist/models/index.js.map +1 -0
  71. package/dist/models/lab-result.d.ts +83 -0
  72. package/dist/models/lab-result.d.ts.map +1 -0
  73. package/dist/models/lab-result.js +12 -0
  74. package/dist/models/lab-result.js.map +1 -0
  75. package/dist/models/medication.d.ts +144 -0
  76. package/dist/models/medication.d.ts.map +1 -0
  77. package/dist/models/medication.js +13 -0
  78. package/dist/models/medication.js.map +1 -0
  79. package/dist/models/patient-profile.d.ts +171 -0
  80. package/dist/models/patient-profile.d.ts.map +1 -0
  81. package/dist/models/patient-profile.js +14 -0
  82. package/dist/models/patient-profile.js.map +1 -0
  83. package/dist/models/procedure.d.ts +53 -0
  84. package/dist/models/procedure.d.ts.map +1 -0
  85. package/dist/models/procedure.js +12 -0
  86. package/dist/models/procedure.js.map +1 -0
  87. package/dist/models/sleep-snapshot.d.ts +54 -0
  88. package/dist/models/sleep-snapshot.d.ts.map +1 -0
  89. package/dist/models/sleep-snapshot.js +13 -0
  90. package/dist/models/sleep-snapshot.js.map +1 -0
  91. package/dist/models/vital-sign.d.ts +74 -0
  92. package/dist/models/vital-sign.d.ts.map +1 -0
  93. package/dist/models/vital-sign.js +13 -0
  94. package/dist/models/vital-sign.js.map +1 -0
  95. package/dist/pod/index.d.ts +2 -0
  96. package/dist/pod/index.d.ts.map +1 -0
  97. package/dist/pod/index.js +2 -0
  98. package/dist/pod/index.js.map +1 -0
  99. package/dist/pod/pod-builder.d.ts +63 -0
  100. package/dist/pod/pod-builder.d.ts.map +1 -0
  101. package/dist/pod/pod-builder.js +245 -0
  102. package/dist/pod/pod-builder.js.map +1 -0
  103. package/dist/serializer/index.d.ts +8 -0
  104. package/dist/serializer/index.d.ts.map +1 -0
  105. package/dist/serializer/index.js +8 -0
  106. package/dist/serializer/index.js.map +1 -0
  107. package/dist/serializer/turtle-builder.d.ts +93 -0
  108. package/dist/serializer/turtle-builder.d.ts.map +1 -0
  109. package/dist/serializer/turtle-builder.js +204 -0
  110. package/dist/serializer/turtle-builder.js.map +1 -0
  111. package/dist/serializer/turtle-serializer.d.ts +66 -0
  112. package/dist/serializer/turtle-serializer.d.ts.map +1 -0
  113. package/dist/serializer/turtle-serializer.js +404 -0
  114. package/dist/serializer/turtle-serializer.js.map +1 -0
  115. package/dist/validator/index.d.ts +2 -0
  116. package/dist/validator/index.d.ts.map +1 -0
  117. package/dist/validator/index.js +2 -0
  118. package/dist/validator/index.js.map +1 -0
  119. package/dist/validator/validator.d.ts +16 -0
  120. package/dist/validator/validator.d.ts.map +1 -0
  121. package/dist/validator/validator.js +295 -0
  122. package/dist/validator/validator.js.map +1 -0
  123. package/dist/vocabularies/index.d.ts +8 -0
  124. package/dist/vocabularies/index.d.ts.map +1 -0
  125. package/dist/vocabularies/index.js +7 -0
  126. package/dist/vocabularies/index.js.map +1 -0
  127. package/dist/vocabularies/namespaces.d.ts +125 -0
  128. package/dist/vocabularies/namespaces.d.ts.map +1 -0
  129. package/dist/vocabularies/namespaces.js +361 -0
  130. package/dist/vocabularies/namespaces.js.map +1 -0
  131. package/package.json +48 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turtle-parser.js","sourceRoot":"","sources":["../../src/deserializer/turtle-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @the-cascade-protocol/sdk - TypeScript library for structured health data.
3
+ *
4
+ * Provides typed interfaces for all Cascade Protocol data types,
5
+ * vocabulary constants, namespace URIs, and serialization/deserialization
6
+ * utilities for RDF Turtle and JSON-LD formats.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import type { Medication, Condition, HealthProfile } from '@the-cascade-protocol/sdk';
11
+ * import { NAMESPACES, serialize, deserialize, toJsonLd } from '@the-cascade-protocol/sdk';
12
+ * ```
13
+ *
14
+ * @see https://cascadeprotocol.org
15
+ * @see https://cascadeprotocol.org/docs/cascade-protocol-schemas
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ export type { CascadeRecord, ProvenanceType, ProvenanceClass, ConditionStatus, AllergySeverity, AllergyCategory, LabInterpretation, MedicationClinicalIntent, CourseOfTherapyType, PrescriptionCategory, SourceFhirResourceType, VitalType, VitalInterpretation, ImmunizationStatus, PlanType, CoverageType, SubscriberRelationship, BiologicalSex, AgeGroup, BloodType, ProcedureStatus, } from './models/index.js';
20
+ export type { Medication } from './models/medication.js';
21
+ export type { Condition } from './models/condition.js';
22
+ export type { Allergy } from './models/allergy.js';
23
+ export type { LabResult } from './models/lab-result.js';
24
+ export type { VitalSign } from './models/vital-sign.js';
25
+ export type { Immunization } from './models/immunization.js';
26
+ export type { Procedure } from './models/procedure.js';
27
+ export type { FamilyHistory } from './models/family-history.js';
28
+ export type { Coverage } from './models/coverage.js';
29
+ export type { PatientProfile, EmergencyContact, Address, PharmacyInfo, } from './models/patient-profile.js';
30
+ export type { ActivitySnapshot } from './models/activity-snapshot.js';
31
+ export type { SleepSnapshot } from './models/sleep-snapshot.js';
32
+ export type { HealthProfile } from './models/health-profile.js';
33
+ export { NAMESPACES, CURRENT_SCHEMA_VERSION, TYPE_MAPPING, PROPERTY_PREDICATES, } from './vocabularies/index.js';
34
+ export type { NamespacePrefix } from './vocabularies/index.js';
35
+ export { serialize, serializeMedication, serializeCondition, serializeAllergy, serializeLabResult, serializeVitalSign, serializeImmunization, serializeProcedure, serializeFamilyHistory, serializeCoverage, serializePatientProfile, serializeActivitySnapshot, serializeSleepSnapshot, } from './serializer/index.js';
36
+ export { TurtleBuilder, SubjectBuilder, escapeTurtleString } from './serializer/index.js';
37
+ export { deserialize, deserializeOne } from './deserializer/index.js';
38
+ export { toJsonLd, fromJsonLd, getContext, CONTEXT_URI } from './jsonld/index.js';
39
+ export { PodBuilder, type PodFile, type PodManifest, type PodOptions } from './pod/index.js';
40
+ export { applyConsent, clinicalOnlyPolicy, fullAccessPolicy, noAccessPolicy, type ConsentCategory, type ConsentRule, type ConsentPolicy } from './consent/index.js';
41
+ export { validate, validateAll, type ValidationError, type ValidationResult } from './validator/index.js';
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,YAAY,GACb,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI1F,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAItE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIlF,OAAO,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI7F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIpK,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @the-cascade-protocol/sdk - TypeScript library for structured health data.
3
+ *
4
+ * Provides typed interfaces for all Cascade Protocol data types,
5
+ * vocabulary constants, namespace URIs, and serialization/deserialization
6
+ * utilities for RDF Turtle and JSON-LD formats.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import type { Medication, Condition, HealthProfile } from '@the-cascade-protocol/sdk';
11
+ * import { NAMESPACES, serialize, deserialize, toJsonLd } from '@the-cascade-protocol/sdk';
12
+ * ```
13
+ *
14
+ * @see https://cascadeprotocol.org
15
+ * @see https://cascadeprotocol.org/docs/cascade-protocol-schemas
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ // ─── Vocabulary Constants ────────────────────────────────────────────────────
20
+ export { NAMESPACES, CURRENT_SCHEMA_VERSION, TYPE_MAPPING, PROPERTY_PREDICATES, } from './vocabularies/index.js';
21
+ // ─── Turtle Serializer ─────────────────────────────────────────────────────
22
+ export { serialize, serializeMedication, serializeCondition, serializeAllergy, serializeLabResult, serializeVitalSign, serializeImmunization, serializeProcedure, serializeFamilyHistory, serializeCoverage, serializePatientProfile, serializeActivitySnapshot, serializeSleepSnapshot, } from './serializer/index.js';
23
+ export { TurtleBuilder, SubjectBuilder, escapeTurtleString } from './serializer/index.js';
24
+ // ─── Turtle Deserializer ────────────────────────────────────────────────────
25
+ export { deserialize, deserializeOne } from './deserializer/index.js';
26
+ // ─── JSON-LD ────────────────────────────────────────────────────────────────
27
+ export { toJsonLd, fromJsonLd, getContext, CONTEXT_URI } from './jsonld/index.js';
28
+ // ─── Pod Builder ─────────────────────────────────────────────────────────────
29
+ export { PodBuilder } from './pod/index.js';
30
+ // ─── Consent Filter ──────────────────────────────────────────────────────────
31
+ export { applyConsent, clinicalOnlyPolicy, fullAccessPolicy, noAccessPolicy } from './consent/index.js';
32
+ // ─── Validator ───────────────────────────────────────────────────────────────
33
+ export { validate, validateAll } from './validator/index.js';
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAuDH,gFAAgF;AAEhF,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAIjC,8EAA8E;AAE9E,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE1F,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEtE,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElF,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAmD,MAAM,gBAAgB,CAAC;AAE7F,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAA8D,MAAM,oBAAoB,CAAC;AAEpK,gFAAgF;AAEhF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAA+C,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Bundled JSON-LD context for offline use with Cascade Protocol data.
3
+ *
4
+ * The context is embedded inline so that no network fetch is required.
5
+ * It maps short property names and type names to their full IRIs in the
6
+ * Cascade Protocol vocabularies.
7
+ *
8
+ * @module jsonld
9
+ */
10
+ /**
11
+ * The canonical URI for the published Cascade Protocol JSON-LD context.
12
+ *
13
+ * Use this when you want to reference the context by URL (e.g., in a
14
+ * JSON-LD document's `@context` field) rather than embedding it inline.
15
+ */
16
+ export declare const CONTEXT_URI = "https://cascadeprotocol.org/ns/context/v1/cascade.jsonld";
17
+ /**
18
+ * Build and return the Cascade Protocol JSON-LD context object.
19
+ *
20
+ * The context includes:
21
+ * - All namespace prefix mappings
22
+ * - Property-to-IRI mappings from PROPERTY_PREDICATES
23
+ * - Type-to-IRI mappings from TYPE_MAPPING
24
+ * - Typed literal annotations for date, boolean, integer, and double fields
25
+ *
26
+ * @returns A JSON-LD context object suitable for use in `@context`
27
+ */
28
+ export declare function getContext(): object;
29
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/jsonld/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAsEnC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Bundled JSON-LD context for offline use with Cascade Protocol data.
3
+ *
4
+ * The context is embedded inline so that no network fetch is required.
5
+ * It maps short property names and type names to their full IRIs in the
6
+ * Cascade Protocol vocabularies.
7
+ *
8
+ * @module jsonld
9
+ */
10
+ import { NAMESPACES, PROPERTY_PREDICATES, TYPE_MAPPING } from '../vocabularies/namespaces.js';
11
+ /**
12
+ * The canonical URI for the published Cascade Protocol JSON-LD context.
13
+ *
14
+ * Use this when you want to reference the context by URL (e.g., in a
15
+ * JSON-LD document's `@context` field) rather than embedding it inline.
16
+ */
17
+ export const CONTEXT_URI = 'https://cascadeprotocol.org/ns/context/v1/cascade.jsonld';
18
+ /**
19
+ * Build and return the Cascade Protocol JSON-LD context object.
20
+ *
21
+ * The context includes:
22
+ * - All namespace prefix mappings
23
+ * - Property-to-IRI mappings from PROPERTY_PREDICATES
24
+ * - Type-to-IRI mappings from TYPE_MAPPING
25
+ * - Typed literal annotations for date, boolean, integer, and double fields
26
+ *
27
+ * @returns A JSON-LD context object suitable for use in `@context`
28
+ */
29
+ export function getContext() {
30
+ const context = {};
31
+ // Namespace prefixes
32
+ for (const [prefix, uri] of Object.entries(NAMESPACES)) {
33
+ context[prefix] = uri;
34
+ }
35
+ // Add standard RDF namespace
36
+ context['rdf'] = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';
37
+ // Type mappings (RDF types as JSON-LD type aliases)
38
+ for (const mapping of Object.values(TYPE_MAPPING)) {
39
+ const colonIdx = mapping.rdfType.indexOf(':');
40
+ if (colonIdx >= 0) {
41
+ const localName = mapping.rdfType.slice(colonIdx + 1);
42
+ context[localName] = mapping.rdfType;
43
+ }
44
+ }
45
+ // Property predicates
46
+ // Fields that need typed @id annotations
47
+ const idTypedFields = new Set([
48
+ 'dataProvenance', 'emergencyContact', 'address', 'preferredPharmacy',
49
+ ]);
50
+ // Fields that need xsd:dateTime typing
51
+ const dateTimeFields = new Set([
52
+ 'startDate', 'endDate', 'onsetDate', 'performedDate', 'reportedDate',
53
+ 'administrationDate', 'effectiveDate', 'effectivePeriodStart', 'effectivePeriodEnd',
54
+ 'effectiveStart', 'effectiveEnd',
55
+ ]);
56
+ // Fields that need xsd:date typing
57
+ const dateOnlyFields = new Set(['dateOfBirth', 'date']);
58
+ // Fields that need xsd:boolean typing
59
+ const booleanFields = new Set(['isActive', 'asNeeded']);
60
+ // Fields that need xsd:integer typing
61
+ const integerFields = new Set([
62
+ 'computedAge', 'refillsAllowed', 'supplyDurationDays', 'onsetAge',
63
+ 'steps', 'activeMinutes', 'calories', 'awakenings',
64
+ 'totalSleepMinutes', 'deepSleepMinutes', 'remSleepMinutes', 'lightSleepMinutes',
65
+ ]);
66
+ // Fields that are URI references
67
+ const uriRefFields = new Set([
68
+ 'rxNormCode', 'icd10Code', 'snomedCode', 'loincCode', 'testCode', 'drugCode',
69
+ ]);
70
+ for (const [key, pred] of Object.entries(PROPERTY_PREDICATES)) {
71
+ if (idTypedFields.has(key)) {
72
+ context[key] = { '@id': pred, '@type': '@id' };
73
+ }
74
+ else if (dateTimeFields.has(key)) {
75
+ context[key] = { '@id': pred, '@type': 'xsd:dateTime' };
76
+ }
77
+ else if (dateOnlyFields.has(key)) {
78
+ context[key] = { '@id': pred, '@type': 'xsd:date' };
79
+ }
80
+ else if (booleanFields.has(key)) {
81
+ context[key] = { '@id': pred, '@type': 'xsd:boolean' };
82
+ }
83
+ else if (integerFields.has(key)) {
84
+ context[key] = { '@id': pred, '@type': 'xsd:integer' };
85
+ }
86
+ else if (uriRefFields.has(key)) {
87
+ context[key] = { '@id': pred, '@type': '@id' };
88
+ }
89
+ else {
90
+ context[key] = pred;
91
+ }
92
+ }
93
+ return { '@context': context };
94
+ }
95
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/jsonld/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,0DAA0D,CAAC;AAEtF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,qBAAqB;IACrB,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,6BAA6B;IAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,6CAA6C,CAAC;IAE/D,oDAAoD;IACpD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QACvC,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,yCAAyC;IACzC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;QAC5B,gBAAgB,EAAE,kBAAkB,EAAE,SAAS,EAAE,mBAAmB;KACrE,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC7B,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc;QACpE,oBAAoB,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB;QACnF,gBAAgB,EAAE,cAAc;KACjC,CAAC,CAAC;IAEH,mCAAmC;IACnC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAExD,sCAAsC;IACtC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAExD,sCAAsC;IACtC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;QAC5B,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU;QACjE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY;QAClD,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB;KAChF,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;QAC3B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU;KAC7E,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9D,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACjD,CAAC;aAAM,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1D,CAAC;aAAM,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QACtD,CAAC;aAAM,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACzD,CAAC;aAAM,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACzD,CAAC;aAAM,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * JSON-LD conversion utilities for Cascade Protocol records.
3
+ *
4
+ * Converts between Cascade Protocol typed model objects and JSON-LD documents.
5
+ * Uses the bundled context from `context.ts` for property mapping.
6
+ *
7
+ * @module jsonld
8
+ */
9
+ import type { CascadeRecord } from '../models/common.js';
10
+ /**
11
+ * Convert a Cascade Protocol record to a JSON-LD document.
12
+ *
13
+ * The resulting document includes:
14
+ * - `@context` referencing the published Cascade Protocol context URI
15
+ * - `@id` set to the record's `id`
16
+ * - `@type` set to the full RDF type URI
17
+ * - All record properties mapped to their predicate IRIs
18
+ *
19
+ * @param record - A typed Cascade Protocol record
20
+ * @returns A JSON-LD document object
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * import { toJsonLd } from '@the-cascade-protocol/sdk';
25
+ *
26
+ * const jsonld = toJsonLd(myMedication);
27
+ * // { "@context": "https://...", "@id": "urn:uuid:...", "@type": "health:MedicationRecord", ... }
28
+ * ```
29
+ */
30
+ export declare function toJsonLd(record: CascadeRecord): object;
31
+ /**
32
+ * Parse a JSON-LD document back to a typed Cascade Protocol record.
33
+ *
34
+ * Supports documents using the Cascade Protocol context (either inline
35
+ * or by reference). Maps `@id` to `id`, `@type` to `type`, and all
36
+ * known property IRIs back to their TypeScript model field names.
37
+ *
38
+ * @param doc - A JSON-LD document object
39
+ * @returns A typed CascadeRecord
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * import { fromJsonLd } from '@the-cascade-protocol/sdk';
44
+ * import type { Medication } from '@the-cascade-protocol/sdk';
45
+ *
46
+ * const med = fromJsonLd<Medication>(jsonldDoc);
47
+ * ```
48
+ */
49
+ export declare function fromJsonLd<T extends CascadeRecord>(doc: object): T;
50
+ //# sourceMappingURL=converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/jsonld/converter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQzD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAgCtD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CA+DlE"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * JSON-LD conversion utilities for Cascade Protocol records.
3
+ *
4
+ * Converts between Cascade Protocol typed model objects and JSON-LD documents.
5
+ * Uses the bundled context from `context.ts` for property mapping.
6
+ *
7
+ * @module jsonld
8
+ */
9
+ import { NAMESPACES, PROPERTY_PREDICATES, TYPE_MAPPING, TYPE_TO_MAPPING_KEY, buildReversePredicateMap } from '../vocabularies/namespaces.js';
10
+ import { CONTEXT_URI } from './context.js';
11
+ // ─── Internal Helpers ───────────────────────────────────────────────────────
12
+ const REVERSE_PREDICATE_MAP = buildReversePredicateMap();
13
+ // ─── Public API ─────────────────────────────────────────────────────────────
14
+ /**
15
+ * Convert a Cascade Protocol record to a JSON-LD document.
16
+ *
17
+ * The resulting document includes:
18
+ * - `@context` referencing the published Cascade Protocol context URI
19
+ * - `@id` set to the record's `id`
20
+ * - `@type` set to the full RDF type URI
21
+ * - All record properties mapped to their predicate IRIs
22
+ *
23
+ * @param record - A typed Cascade Protocol record
24
+ * @returns A JSON-LD document object
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { toJsonLd } from '@the-cascade-protocol/sdk';
29
+ *
30
+ * const jsonld = toJsonLd(myMedication);
31
+ * // { "@context": "https://...", "@id": "urn:uuid:...", "@type": "health:MedicationRecord", ... }
32
+ * ```
33
+ */
34
+ export function toJsonLd(record) {
35
+ const mappingKey = TYPE_TO_MAPPING_KEY[record.type];
36
+ const mapping = mappingKey ? TYPE_MAPPING[mappingKey] : undefined;
37
+ if (!mapping) {
38
+ throw new Error(`Unknown record type: ${record.type}. No TYPE_MAPPING found.`);
39
+ }
40
+ const doc = {
41
+ '@context': CONTEXT_URI,
42
+ '@id': record.id,
43
+ '@type': mapping.rdfType,
44
+ };
45
+ // Map all record properties to the JSON-LD doc
46
+ for (const [key, value] of Object.entries(record)) {
47
+ if (key === 'id' || key === 'type' || value === undefined || value === null)
48
+ continue;
49
+ const pred = PROPERTY_PREDICATES[key];
50
+ if (!pred)
51
+ continue;
52
+ // dataProvenance gets expanded to a prefixed type reference
53
+ if (key === 'dataProvenance') {
54
+ doc[key] = `cascade:${String(value)}`;
55
+ continue;
56
+ }
57
+ // All other values are passed through as-is; the JSON-LD context
58
+ // will handle type coercion for dates, booleans, integers, etc.
59
+ doc[key] = value;
60
+ }
61
+ return doc;
62
+ }
63
+ /**
64
+ * Parse a JSON-LD document back to a typed Cascade Protocol record.
65
+ *
66
+ * Supports documents using the Cascade Protocol context (either inline
67
+ * or by reference). Maps `@id` to `id`, `@type` to `type`, and all
68
+ * known property IRIs back to their TypeScript model field names.
69
+ *
70
+ * @param doc - A JSON-LD document object
71
+ * @returns A typed CascadeRecord
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * import { fromJsonLd } from '@the-cascade-protocol/sdk';
76
+ * import type { Medication } from '@the-cascade-protocol/sdk';
77
+ *
78
+ * const med = fromJsonLd<Medication>(jsonldDoc);
79
+ * ```
80
+ */
81
+ export function fromJsonLd(doc) {
82
+ const raw = doc;
83
+ const record = {};
84
+ // Extract @id
85
+ record['id'] = raw['@id'] ?? '';
86
+ // Extract @type and resolve to local type name
87
+ const rdfType = String(raw['@type'] ?? '');
88
+ let typeName = rdfType;
89
+ // Try to extract local name from prefixed or full URI type
90
+ const colonIdx = rdfType.indexOf(':');
91
+ if (colonIdx >= 0) {
92
+ const prefix = rdfType.slice(0, colonIdx);
93
+ const local = rdfType.slice(colonIdx + 1);
94
+ // Check if it's a prefixed name
95
+ if (prefix in NAMESPACES) {
96
+ typeName = local;
97
+ }
98
+ else {
99
+ typeName = local;
100
+ }
101
+ }
102
+ // If full URI, extract local name
103
+ for (const ns of Object.values(NAMESPACES)) {
104
+ if (rdfType.startsWith(ns)) {
105
+ typeName = rdfType.slice(ns.length);
106
+ break;
107
+ }
108
+ }
109
+ record['type'] = typeName;
110
+ // Map all other properties
111
+ for (const [key, value] of Object.entries(raw)) {
112
+ if (key.startsWith('@') || value === undefined || value === null)
113
+ continue;
114
+ // Check if key is a known property name (short form from context)
115
+ if (key in PROPERTY_PREDICATES) {
116
+ // Handle dataProvenance: strip the "cascade:" prefix
117
+ if (key === 'dataProvenance' && typeof value === 'string') {
118
+ const cascadePrefix = 'cascade:';
119
+ if (value.startsWith(cascadePrefix)) {
120
+ record[key] = value.slice(cascadePrefix.length);
121
+ }
122
+ else {
123
+ record[key] = value;
124
+ }
125
+ continue;
126
+ }
127
+ record[key] = value;
128
+ continue;
129
+ }
130
+ // Check if key is a full IRI
131
+ const jsonKey = REVERSE_PREDICATE_MAP.get(key);
132
+ if (jsonKey) {
133
+ record[jsonKey] = value;
134
+ continue;
135
+ }
136
+ }
137
+ return record;
138
+ }
139
+ //# sourceMappingURL=converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../../src/jsonld/converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Re-exports for the JSON-LD module.
3
+ *
4
+ * @module jsonld
5
+ */
6
+ export { getContext, CONTEXT_URI } from './context.js';
7
+ export { toJsonLd, fromJsonLd } from './converter.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jsonld/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Re-exports for the JSON-LD module.
3
+ *
4
+ * @module jsonld
5
+ */
6
+ export { getContext, CONTEXT_URI } from './context.js';
7
+ export { toJsonLd, fromJsonLd } from './converter.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jsonld/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Activity snapshot data model for the Cascade Protocol.
3
+ *
4
+ * Represents a daily activity summary typically sourced from wearable
5
+ * devices or HealthKit data.
6
+ *
7
+ * RDF type: `health:ActivitySnapshot`
8
+ * Vocabulary: `https://ns.cascadeprotocol.org/health/v1#`
9
+ *
10
+ * @see https://cascadeprotocol.org/docs/cascade-protocol-schemas
11
+ */
12
+ import type { CascadeRecord } from './common.js';
13
+ /**
14
+ * A daily activity snapshot in the Cascade Protocol.
15
+ *
16
+ * Required fields: `date`, `dataProvenance`, `schemaVersion`.
17
+ * The `date` field uses ISO 8601 date format (YYYY-MM-DD).
18
+ *
19
+ * Serializes as `health:ActivitySnapshot` in Turtle.
20
+ */
21
+ export interface ActivitySnapshot extends CascadeRecord {
22
+ type: 'ActivitySnapshot';
23
+ /**
24
+ * Date of the activity summary (ISO 8601 date: `YYYY-MM-DD`).
25
+ * Maps to `health:date` in Turtle serialization.
26
+ */
27
+ date: string;
28
+ /**
29
+ * Total step count for the day.
30
+ * Maps to `health:steps` in Turtle serialization.
31
+ */
32
+ steps?: number;
33
+ /**
34
+ * Total distance covered in kilometers.
35
+ * Maps to `health:distance` in Turtle serialization.
36
+ */
37
+ distance?: number;
38
+ /**
39
+ * Total active minutes for the day.
40
+ * Maps to `health:activeMinutes` in Turtle serialization.
41
+ */
42
+ activeMinutes?: number;
43
+ /**
44
+ * Total calories burned (active + basal).
45
+ * Maps to `health:calories` in Turtle serialization.
46
+ */
47
+ calories?: number;
48
+ }
49
+ //# sourceMappingURL=activity-snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-snapshot.d.ts","sourceRoot":"","sources":["../../src/models/activity-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,IAAI,EAAE,kBAAkB,CAAC;IAEzB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Activity snapshot data model for the Cascade Protocol.
3
+ *
4
+ * Represents a daily activity summary typically sourced from wearable
5
+ * devices or HealthKit data.
6
+ *
7
+ * RDF type: `health:ActivitySnapshot`
8
+ * Vocabulary: `https://ns.cascadeprotocol.org/health/v1#`
9
+ *
10
+ * @see https://cascadeprotocol.org/docs/cascade-protocol-schemas
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=activity-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-snapshot.js","sourceRoot":"","sources":["../../src/models/activity-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Allergy data model for the Cascade Protocol.
3
+ *
4
+ * Represents an allergy or intolerance record, sourced from EHR imports
5
+ * or self-reported by the patient.
6
+ *
7
+ * RDF type: `health:AllergyRecord`
8
+ * Vocabulary: `https://ns.cascadeprotocol.org/health/v1#`
9
+ *
10
+ * @see https://cascadeprotocol.org/docs/cascade-protocol-schemas
11
+ */
12
+ import type { CascadeRecord, AllergyCategory, AllergySeverity } from './common.js';
13
+ /**
14
+ * An allergy record in the Cascade Protocol.
15
+ *
16
+ * Required fields: `allergen`, `dataProvenance`, `schemaVersion`.
17
+ * All date fields use ISO 8601 string format.
18
+ *
19
+ * Serializes as `health:AllergyRecord` in Turtle.
20
+ */
21
+ export interface Allergy extends CascadeRecord {
22
+ type: 'AllergyRecord';
23
+ /**
24
+ * Name of the allergen substance.
25
+ * Maps to `health:allergen` in Turtle serialization.
26
+ */
27
+ allergen: string;
28
+ /**
29
+ * Category of the allergen (e.g., `"medication"`, `"food"`, `"environmental"`).
30
+ * Maps to `health:allergyCategory` in Turtle serialization.
31
+ */
32
+ allergyCategory?: AllergyCategory | string;
33
+ /**
34
+ * Description of the allergic reaction (e.g., `"Hives (urticaria)"`).
35
+ * Maps to `health:reaction` in Turtle serialization.
36
+ */
37
+ reaction?: string;
38
+ /**
39
+ * Severity of the allergic reaction.
40
+ * Maps to `health:allergySeverity` in Turtle serialization.
41
+ */
42
+ allergySeverity?: AllergySeverity;
43
+ /**
44
+ * Date of allergy onset (ISO 8601).
45
+ * Maps to `health:onsetDate` in Turtle serialization.
46
+ */
47
+ onsetDate?: string;
48
+ }
49
+ //# sourceMappingURL=allergy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allergy.d.ts","sourceRoot":"","sources":["../../src/models/allergy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnF;;;;;;;GAOG;AACH,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC5C,IAAI,EAAE,eAAe,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IAE3C;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}