@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.
- package/LICENSE +190 -0
- package/README.md +164 -0
- package/dist/consent/consent-filter.d.ts +21 -0
- package/dist/consent/consent-filter.d.ts.map +1 -0
- package/dist/consent/consent-filter.js +71 -0
- package/dist/consent/consent-filter.js.map +1 -0
- package/dist/consent/index.d.ts +2 -0
- package/dist/consent/index.d.ts.map +1 -0
- package/dist/consent/index.js +2 -0
- package/dist/consent/index.js.map +1 -0
- package/dist/deserializer/index.d.ts +7 -0
- package/dist/deserializer/index.d.ts.map +1 -0
- package/dist/deserializer/index.js +7 -0
- package/dist/deserializer/index.js.map +1 -0
- package/dist/deserializer/turtle-parser.d.ts +47 -0
- package/dist/deserializer/turtle-parser.d.ts.map +1 -0
- package/dist/deserializer/turtle-parser.js +840 -0
- package/dist/deserializer/turtle-parser.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/jsonld/context.d.ts +29 -0
- package/dist/jsonld/context.d.ts.map +1 -0
- package/dist/jsonld/context.js +95 -0
- package/dist/jsonld/context.js.map +1 -0
- package/dist/jsonld/converter.d.ts +50 -0
- package/dist/jsonld/converter.d.ts.map +1 -0
- package/dist/jsonld/converter.js +139 -0
- package/dist/jsonld/converter.js.map +1 -0
- package/dist/jsonld/index.d.ts +8 -0
- package/dist/jsonld/index.d.ts.map +1 -0
- package/dist/jsonld/index.js +8 -0
- package/dist/jsonld/index.js.map +1 -0
- package/dist/models/activity-snapshot.d.ts +49 -0
- package/dist/models/activity-snapshot.d.ts.map +1 -0
- package/dist/models/activity-snapshot.js +13 -0
- package/dist/models/activity-snapshot.js.map +1 -0
- package/dist/models/allergy.d.ts +49 -0
- package/dist/models/allergy.d.ts.map +1 -0
- package/dist/models/allergy.js +13 -0
- package/dist/models/allergy.js.map +1 -0
- package/dist/models/common.d.ts +174 -0
- package/dist/models/common.d.ts.map +1 -0
- package/dist/models/common.js +12 -0
- package/dist/models/common.js.map +1 -0
- package/dist/models/condition.d.ts +59 -0
- package/dist/models/condition.d.ts.map +1 -0
- package/dist/models/condition.js +13 -0
- package/dist/models/condition.js.map +1 -0
- package/dist/models/coverage.d.ts +117 -0
- package/dist/models/coverage.d.ts.map +1 -0
- package/dist/models/coverage.js +16 -0
- package/dist/models/coverage.js.map +1 -0
- package/dist/models/family-history.d.ts +38 -0
- package/dist/models/family-history.d.ts.map +1 -0
- package/dist/models/family-history.js +13 -0
- package/dist/models/family-history.js.map +1 -0
- package/dist/models/health-profile.d.ts +54 -0
- package/dist/models/health-profile.d.ts.map +1 -0
- package/dist/models/health-profile.js +11 -0
- package/dist/models/health-profile.js.map +1 -0
- package/dist/models/immunization.d.ts +78 -0
- package/dist/models/immunization.d.ts.map +1 -0
- package/dist/models/immunization.js +12 -0
- package/dist/models/immunization.js.map +1 -0
- package/dist/models/index.d.ts +20 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +7 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/lab-result.d.ts +83 -0
- package/dist/models/lab-result.d.ts.map +1 -0
- package/dist/models/lab-result.js +12 -0
- package/dist/models/lab-result.js.map +1 -0
- package/dist/models/medication.d.ts +144 -0
- package/dist/models/medication.d.ts.map +1 -0
- package/dist/models/medication.js +13 -0
- package/dist/models/medication.js.map +1 -0
- package/dist/models/patient-profile.d.ts +171 -0
- package/dist/models/patient-profile.d.ts.map +1 -0
- package/dist/models/patient-profile.js +14 -0
- package/dist/models/patient-profile.js.map +1 -0
- package/dist/models/procedure.d.ts +53 -0
- package/dist/models/procedure.d.ts.map +1 -0
- package/dist/models/procedure.js +12 -0
- package/dist/models/procedure.js.map +1 -0
- package/dist/models/sleep-snapshot.d.ts +54 -0
- package/dist/models/sleep-snapshot.d.ts.map +1 -0
- package/dist/models/sleep-snapshot.js +13 -0
- package/dist/models/sleep-snapshot.js.map +1 -0
- package/dist/models/vital-sign.d.ts +74 -0
- package/dist/models/vital-sign.d.ts.map +1 -0
- package/dist/models/vital-sign.js +13 -0
- package/dist/models/vital-sign.js.map +1 -0
- package/dist/pod/index.d.ts +2 -0
- package/dist/pod/index.d.ts.map +1 -0
- package/dist/pod/index.js +2 -0
- package/dist/pod/index.js.map +1 -0
- package/dist/pod/pod-builder.d.ts +63 -0
- package/dist/pod/pod-builder.d.ts.map +1 -0
- package/dist/pod/pod-builder.js +245 -0
- package/dist/pod/pod-builder.js.map +1 -0
- package/dist/serializer/index.d.ts +8 -0
- package/dist/serializer/index.d.ts.map +1 -0
- package/dist/serializer/index.js +8 -0
- package/dist/serializer/index.js.map +1 -0
- package/dist/serializer/turtle-builder.d.ts +93 -0
- package/dist/serializer/turtle-builder.d.ts.map +1 -0
- package/dist/serializer/turtle-builder.js +204 -0
- package/dist/serializer/turtle-builder.js.map +1 -0
- package/dist/serializer/turtle-serializer.d.ts +66 -0
- package/dist/serializer/turtle-serializer.d.ts.map +1 -0
- package/dist/serializer/turtle-serializer.js +404 -0
- package/dist/serializer/turtle-serializer.js.map +1 -0
- package/dist/validator/index.d.ts +2 -0
- package/dist/validator/index.d.ts.map +1 -0
- package/dist/validator/index.js +2 -0
- package/dist/validator/index.js.map +1 -0
- package/dist/validator/validator.d.ts +16 -0
- package/dist/validator/validator.d.ts.map +1 -0
- package/dist/validator/validator.js +295 -0
- package/dist/validator/validator.js.map +1 -0
- package/dist/vocabularies/index.d.ts +8 -0
- package/dist/vocabularies/index.d.ts.map +1 -0
- package/dist/vocabularies/index.js +7 -0
- package/dist/vocabularies/index.js.map +1 -0
- package/dist/vocabularies/namespaces.d.ts +125 -0
- package/dist/vocabularies/namespaces.d.ts.map +1 -0
- package/dist/vocabularies/namespaces.js +361 -0
- package/dist/vocabularies/namespaces.js.map +1 -0
- 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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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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":"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"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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"}
|