gdc-common-utils-ts 1.20.2 → 1.23.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/README.md +2 -2
- package/dist/claims/claims-helpers-related-person.d.ts +14 -0
- package/dist/claims/claims-helpers-related-person.js +28 -0
- package/dist/constants/Schemas.d.ts +3 -0
- package/dist/constants/Schemas.js +3 -0
- package/dist/constants/fhir-code-systems.d.ts +1 -0
- package/dist/constants/fhir-code-systems.js +1 -0
- package/dist/constants/fhir-resource-types.d.ts +2 -0
- package/dist/constants/fhir-resource-types.js +1 -0
- package/dist/constants/index.d.ts +3 -0
- package/dist/constants/index.js +3 -0
- package/dist/constants/individual-sections.d.ts +210 -0
- package/dist/constants/individual-sections.js +35 -0
- package/dist/constants/lifecycle.d.ts +17 -0
- package/dist/constants/lifecycle.js +18 -0
- package/dist/constants/observation-category.d.ts +72 -0
- package/dist/constants/observation-category.js +30 -0
- package/dist/constants/schemaorg.d.ts +4 -0
- package/dist/constants/schemaorg.js +4 -0
- package/dist/constants/vital-signs.d.ts +2 -17
- package/dist/constants/vital-signs.js +1 -6
- package/dist/convert/convert-observation.d.ts +20 -2
- package/dist/convert/convert-observation.js +80 -9
- package/dist/examples/index.d.ts +2 -0
- package/dist/examples/index.js +2 -0
- package/dist/examples/invoice.d.ts +37 -0
- package/dist/examples/invoice.js +72 -0
- package/dist/examples/license.d.ts +161 -0
- package/dist/examples/license.js +136 -7
- package/dist/examples/lifecycle.d.ts +44 -0
- package/dist/examples/lifecycle.js +25 -0
- package/dist/examples/related-person.d.ts +348 -0
- package/dist/examples/related-person.js +184 -2
- package/dist/examples/shared.d.ts +110 -8
- package/dist/examples/shared.js +129 -17
- package/dist/examples/vital-signs.d.ts +56 -0
- package/dist/examples/vital-signs.js +159 -0
- package/dist/models/fhir-documents.d.ts +35 -0
- package/dist/models/indexing.d.ts +68 -6
- package/dist/models/indexing.js +294 -11
- package/dist/models/interoperable-claims/index.d.ts +1 -0
- package/dist/models/interoperable-claims/index.js +1 -0
- package/dist/models/interoperable-claims/invoice-claims.d.ts +277 -0
- package/dist/models/interoperable-claims/invoice-claims.js +353 -0
- package/dist/models/interoperable-claims/observation-claims.d.ts +253 -1
- package/dist/models/interoperable-claims/observation-claims.js +249 -3
- package/dist/models/interoperable-claims.d.ts +1 -1
- package/dist/models/interoperable-claims.js +1 -1
- package/dist/models/urlPath.d.ts +3 -1
- package/dist/models/urlPath.js +2 -0
- package/dist/utils/bundle-document-builder.js +22 -4
- package/dist/utils/bundle-editor.d.ts +105 -2
- package/dist/utils/bundle-editor.js +282 -2
- package/dist/utils/clinical-resource-converters.d.ts +4 -4
- package/dist/utils/clinical-resource-converters.js +5 -5
- package/dist/utils/communication-attached-bundle-session.d.ts +11 -0
- package/dist/utils/communication-attached-bundle-session.js +29 -0
- package/dist/utils/consent-lifecycle-result-reader.d.ts +24 -0
- package/dist/utils/consent-lifecycle-result-reader.js +27 -0
- package/dist/utils/employee.d.ts +25 -0
- package/dist/utils/employee.js +57 -0
- package/dist/utils/gw-core-path.d.ts +24 -0
- package/dist/utils/gw-core-path.js +21 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.js +11 -0
- package/dist/utils/individual-bundle-vault.d.ts +144 -0
- package/dist/utils/individual-bundle-vault.js +455 -0
- package/dist/utils/individual-organization-lifecycle.d.ts +104 -0
- package/dist/utils/individual-organization-lifecycle.js +179 -0
- package/dist/utils/interoperable-resource-operation.d.ts +158 -0
- package/dist/utils/interoperable-resource-operation.js +244 -0
- package/dist/utils/invoice-bundle.d.ts +82 -0
- package/dist/utils/invoice-bundle.js +240 -0
- package/dist/utils/license-commercial-search.d.ts +118 -0
- package/dist/utils/license-commercial-search.js +228 -0
- package/dist/utils/license-list-search.d.ts +105 -0
- package/dist/utils/license-list-search.js +209 -0
- package/dist/utils/license-offer-order.d.ts +107 -0
- package/dist/utils/license-offer-order.js +262 -0
- package/dist/utils/license.d.ts +6 -0
- package/dist/utils/license.js +6 -0
- package/dist/utils/lifecycle-result-reader.d.ts +33 -0
- package/dist/utils/lifecycle-result-reader.js +99 -0
- package/dist/utils/related-person-list.d.ts +20 -0
- package/dist/utils/related-person-list.js +54 -0
- package/package.json +2 -1
|
@@ -18,6 +18,7 @@ export declare const EXAMPLE_ROUTE_VERSION: "v1";
|
|
|
18
18
|
export declare const EXAMPLE_SECTOR: "health-care";
|
|
19
19
|
export declare const EXAMPLE_EMAIL_CONTROLLER_ORG: "controller@acme.org";
|
|
20
20
|
export declare const EXAMPLE_EMAIL_CONTROLLER_INDIVIDUAL: "ana.parent@example.org";
|
|
21
|
+
export declare const EXAMPLE_INTEROPERABLE_CONTEXT_FHIR_API: "org.hl7.fhir.api";
|
|
21
22
|
export declare const EXAMPLE_SELF_REGISTERED_INDIVIDUAL_ALTERNATE_NAME: "Jane";
|
|
22
23
|
export declare const EXAMPLE_SELF_REGISTERED_INDIVIDUAL_EMAIL: "Jane.Doe@example.com";
|
|
23
24
|
export declare const EXAMPLE_SELF_REGISTERED_INDIVIDUAL_EMAIL_NORMALIZED: "jane.doe@example.com";
|
|
@@ -95,6 +96,10 @@ export declare const EXAMPLE_CONTROLLER_SAME_AS: "mailto:controller@acme.org";
|
|
|
95
96
|
export declare const EXAMPLE_API_ORGANIZATION_DID: "did:web:api.acme.org";
|
|
96
97
|
export declare const EXAMPLE_SERVICE_PUBLIC_DID: "did:web:public.acme.org";
|
|
97
98
|
export declare const EXAMPLE_SUBJECT_DID: "did:web:api.acme.org:individual:123";
|
|
99
|
+
export declare const EXAMPLE_SUBJECT_DID_SECONDARY: "did:web:api.acme.org:individual:456";
|
|
100
|
+
export declare const EXAMPLE_SUBJECT_DID_TERTIARY: "did:web:api.acme.org:individual:789";
|
|
101
|
+
export declare const EXAMPLE_SUBJECT_DID_CONDITION: "did:web:api.acme.org:individual:cond";
|
|
102
|
+
export declare const EXAMPLE_SUBJECT_DID_IPS: "did:web:api.acme.org:individual:ips";
|
|
98
103
|
export declare const EXAMPLE_PROFESSIONAL_DID: "did:web:api.acme.org:professional:1";
|
|
99
104
|
export declare const EXAMPLE_PROVIDER_ORGANIZATION_DID: "did:web:hospital.acme.org";
|
|
100
105
|
export declare const EXAMPLE_PROVIDER_ORGANIZATION_URL: "https://hospital.acme.org";
|
|
@@ -126,6 +131,11 @@ export declare const EXAMPLE_PRACTITIONER_DID: "did:web:practitioner.example";
|
|
|
126
131
|
export declare const EXAMPLE_GENERIC_SUBJECT_DID: "did:web:subject.example";
|
|
127
132
|
export declare const EXAMPLE_EMAIL_PROFESSIONAL: "doctor.oncall@example.org";
|
|
128
133
|
export declare const EXAMPLE_EMAIL_RELATED_PERSON: "parent.guardian@example.org";
|
|
134
|
+
export declare const EXAMPLE_RELATED_PERSON_ACTIVE_NAME: "Jose Example";
|
|
135
|
+
export declare const EXAMPLE_RELATED_PERSON_INACTIVE_IDENTIFIER: "urn:uuid:related-person-002";
|
|
136
|
+
export declare const EXAMPLE_RELATED_PERSON_INACTIVE_EMAIL: "caregiver.two@example.org";
|
|
137
|
+
export declare const EXAMPLE_RELATED_PERSON_INACTIVE_NAME: "Maria Example";
|
|
138
|
+
export declare const EXAMPLE_RELATED_PERSON_INACTIVE_RELATIONSHIP: "http://terminology.hl7.org/CodeSystem/v3-RoleCode|NMTH";
|
|
129
139
|
export declare const EXAMPLE_HEALTHCARE_JURISDICTION: "ES";
|
|
130
140
|
export declare const EXAMPLE_SECONDARY_HEALTHCARE_JURISDICTION: "PT";
|
|
131
141
|
export declare const EXAMPLE_ORGANIZATION_CONTROLLER_ROLE: "RESPRSN";
|
|
@@ -147,12 +157,18 @@ export declare const EXAMPLE_CONSENT_PURPOSE_TREATMENT: "TREAT";
|
|
|
147
157
|
export declare const EXAMPLE_CONSENT_PURPOSE_EMERGENCY_TREATMENT: "ETREAT";
|
|
148
158
|
export declare const EXAMPLE_CONSENT_UUID: "urn:uuid:consent-example-001";
|
|
149
159
|
export declare const EXAMPLE_CONSENT_IDENTIFIER: "urn:uuid:consent-example-001";
|
|
160
|
+
export declare const EXAMPLE_CONSENT_IDENTIFIER_SECONDARY: "urn:uuid:consent-example-002";
|
|
150
161
|
export declare const EXAMPLE_CONSENT_OPERATION_IDENTIFIER: "consent-operation-example-001";
|
|
151
162
|
export declare const EXAMPLE_CONSENT_OPERATION_THREAD_ID: "thread-consent-example-001";
|
|
152
163
|
export declare const EXAMPLE_CONSENT_PERIOD_START: "2026-05-20T00:00:00Z";
|
|
153
164
|
export declare const EXAMPLE_COMMUNICATION_UUID: "urn:uuid:communication-example-001";
|
|
154
165
|
export declare const EXAMPLE_COMMUNICATION_IDENTIFIER: "urn:uuid:communication-example-001";
|
|
155
166
|
export declare const EXAMPLE_IPS_BUNDLE_NOTE_TEXT: "IPS ingestion request";
|
|
167
|
+
export declare const EXAMPLE_CONTENT_TYPE_APPLICATION_JSON: "application/json";
|
|
168
|
+
export declare const EXAMPLE_CONTENT_TYPE_FHIR_JSON: "application/fhir+json";
|
|
169
|
+
export declare const EXAMPLE_IPS_BUNDLE_ATTACHMENT_TITLE: "IPS Document Bundle";
|
|
170
|
+
export declare const EXAMPLE_BUNDLE_RESOURCE_TYPE: "Bundle";
|
|
171
|
+
export declare const EXAMPLE_BUNDLE_TYPE_BATCH: "batch";
|
|
156
172
|
export declare const EXAMPLE_MEDICATION_STATEMENT_UUID: "urn:uuid:medication-statement-example-001";
|
|
157
173
|
export declare const EXAMPLE_MEDICATION_STATEMENT_IDENTIFIER: "urn:uuid:medication-statement-example-001";
|
|
158
174
|
export declare const EXAMPLE_MEDICATION_STATEMENT_STATUS: "active";
|
|
@@ -164,6 +180,15 @@ export declare const EXAMPLE_DOCUMENT_REFERENCE_CONTENT_TYPE_PDF: "application/p
|
|
|
164
180
|
export declare const EXAMPLE_DOCUMENT_REFERENCE_URL: "https://example.org/prescription.pdf";
|
|
165
181
|
export declare const EXAMPLE_DOCUMENT_REFERENCE_DESCRIPTION: "Prescription PDF";
|
|
166
182
|
export declare const EXAMPLE_DOCUMENT_REFERENCE_DATE: "2026-06-12T10:00:00Z";
|
|
183
|
+
export declare const EXAMPLE_CLINICAL_EVENT_DATE_TIME: "2026-06-01T10:00:00Z";
|
|
184
|
+
export declare const EXAMPLE_VITAL_SIGNS_EFFECTIVE_DATE_TIME: "2026-06-11T08:30:00Z";
|
|
185
|
+
export declare const EXAMPLE_VITAL_SIGNS_PANEL_DATE_TIME: "2026-06-11T09:00:00Z";
|
|
186
|
+
export declare const EXAMPLE_VAULT_PRIMARY_DATE_TIME: "2026-06-11T10:00:00Z";
|
|
187
|
+
export declare const EXAMPLE_VAULT_SECONDARY_DATE_TIME: "2026-06-11T10:05:00Z";
|
|
188
|
+
export declare const EXAMPLE_VAULT_IPS_DATE_TIME: "2026-06-11T11:00:00Z";
|
|
189
|
+
export declare const EXAMPLE_VAULT_TERTIARY_DATE_TIME: "2026-06-11T12:00:00Z";
|
|
190
|
+
export declare const EXAMPLE_VAULT_QUATERNARY_DATE_TIME: "2026-06-11T13:00:00Z";
|
|
191
|
+
export declare const EXAMPLE_VAULT_CONDITION_DATE_TIME: "2026-06-11T14:00:00Z";
|
|
167
192
|
export declare const EXAMPLE_DOCUMENT_REFERENCE_CONTENT_HASH: "z-document-reference-example-hash";
|
|
168
193
|
export declare const EXAMPLE_DOCUMENT_REFERENCE_LANGUAGE: "en";
|
|
169
194
|
export declare const EXAMPLE_CONSENT_ATTACHMENT_CONTENT_TYPE: "application/pdf";
|
|
@@ -172,10 +197,87 @@ export declare const EXAMPLE_CONTENT_ADDRESSED_CONSENT_IDENTIFIER: "zQmYwAPJzv5C
|
|
|
172
197
|
export declare const EXAMPLE_CONTENT_ADDRESSED_SOURCE_REFERENCE: "zQmWvM9dQmWvM9dQmWvM9dQmWvM9dQmWvM9dQmWvM9dQmWv";
|
|
173
198
|
export declare const EXAMPLE_CONTENT_ADDRESSED_EVIDENCE_RECORD_IDENTIFIER: "zQmXh8Y3mJQ4d7MmX7o9nP5sQ2uT1vW6xY8zA3bC4dE5fG";
|
|
174
199
|
export declare const EXAMPLE_EMPLOYEE_ACTIVATION_CODE: "ACT-001";
|
|
200
|
+
export declare const EXAMPLE_LICENSE_OFFER_ID: "urn:offer:family-003";
|
|
201
|
+
export declare const EXAMPLE_LICENSE_INVALID_OFFER_ID: "urn:offer:invalid-001";
|
|
202
|
+
export declare const EXAMPLE_LICENSE_ACCEPTED_OFFER_ID: "urn:offer:family-003";
|
|
203
|
+
export declare const EXAMPLE_LICENSE_AMOUNT: "9.99";
|
|
204
|
+
export declare const EXAMPLE_LICENSE_CURRENCY: "EUR";
|
|
205
|
+
export declare const EXAMPLE_LICENSE_PLAN_NAME: "Family starter";
|
|
206
|
+
export declare const EXAMPLE_LICENSE_SKU: "FAM-START";
|
|
207
|
+
export declare const EXAMPLE_LICENSE_PAYMENT_METHOD_INVOICE: "invoice";
|
|
208
|
+
export declare const EXAMPLE_LICENSE_CHECKOUT_URL: "https://pay.example/offer-001";
|
|
209
|
+
export declare const EXAMPLE_LICENSE_PAYMENT_URL: "https://pay.example/invoice-001";
|
|
210
|
+
export declare const EXAMPLE_LICENSE_INVOICE_ID: "invoice-001";
|
|
211
|
+
export declare const EXAMPLE_INVOICE_DATE: "2026-06-11T10:00:00Z";
|
|
212
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_PRODUCT_CODE: "08412345678903";
|
|
213
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_PRODUCT_NAME: "Sterile saline bottle 500 mL";
|
|
214
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_CATEGORY: "medical-supplies";
|
|
215
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_SUPPLIER_PRODUCT_CODE: "IMP-SAL-500";
|
|
216
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_IDENTIFIER: "chargeitem-001";
|
|
217
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_STATUS: "billable";
|
|
218
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_PART_OF: "invoice-001";
|
|
219
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_QUANTITY: "3|bottle";
|
|
220
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_QUANTITY_NUMBER: "3";
|
|
221
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_QUANTITY_UNIT: "bottle";
|
|
222
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_CODE_TEXT: "Botella de suero salino est\u00E9ril 500 mL";
|
|
223
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_ITEMS_PER_UNIT: "24";
|
|
224
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_ITEMS_QUANTITY: "500|mL";
|
|
225
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_ITEMS_QUANTITY_NUMBER: "500";
|
|
226
|
+
export declare const EXAMPLE_INVOICE_CHARGEITEM_ITEMS_QUANTITY_UNIT: "mL";
|
|
227
|
+
export declare const EXAMPLE_LICENSE_PLAN_DEFAULT: "default";
|
|
228
|
+
export declare const EXAMPLE_LICENSE_RENEWAL_CYCLE_YEARLY: "12m";
|
|
229
|
+
export declare const EXAMPLE_LICENSE_SUBJECT_ID_ACTIVE: "urn:uuid:employee-controller-active-001";
|
|
230
|
+
export declare const EXAMPLE_LICENSE_SUBJECT_ID_AVAILABLE: "urn:uuid:subject-license-available-001";
|
|
231
|
+
export declare const EXAMPLE_LICENSE_SEAT_UUID_ACTIVE: "8a8a5e1b-0d8e-4a7c-8c39-3b8034440001";
|
|
232
|
+
export declare const EXAMPLE_LICENSE_SEAT_UUID_SECONDARY: "8a8a5e1b-0d8e-4a7c-8c39-3b8034440002";
|
|
233
|
+
export declare const EXAMPLE_LICENSE_SEAT_UUID_AVAILABLE: "8a8a5e1b-0d8e-4a7c-8c39-3b8034440009";
|
|
234
|
+
export declare const EXAMPLE_JOB_IDENTIFIER_LICENSE_SEARCH: "job-license-search-001";
|
|
235
|
+
export declare const EXAMPLE_THREAD_IDENTIFIER_LICENSE_SEARCH: "thid-license-search-001";
|
|
236
|
+
export declare const EXAMPLE_RELATED_PERSON_IDENTIFIER: "rel-001";
|
|
175
237
|
export declare const EXAMPLE_DEVICE_CLIENT_ID: "did:web:device-001";
|
|
176
238
|
export declare const EXAMPLE_LIVE_GW_BASE_URL_LOCAL: "http://127.0.0.1:3000";
|
|
177
239
|
export declare const EXAMPLE_LIVE_GW_BASE_URL_DOCKER: "http://127.0.0.1:8000";
|
|
178
240
|
export declare const EXAMPLE_MEDICATION_DOSE_UNIT_MG: "mg";
|
|
241
|
+
export declare const EXAMPLE_OBSERVATION_IDENTIFIER: "urn:uuid:observation-example-001";
|
|
242
|
+
export declare const EXAMPLE_OBSERVATION_IDENTIFIER_IPS: "vs-1";
|
|
243
|
+
export declare const EXAMPLE_OBSERVATION_PANEL_IDENTIFIER: "urn:uuid:observation-panel-example-001";
|
|
244
|
+
export declare const EXAMPLE_OBSERVATION_COMPONENT_IDENTIFIER: "urn:uuid:observation-component-example-001";
|
|
245
|
+
export declare const EXAMPLE_OBSERVATION_COMPONENT_IDENTIFIER_SECONDARY: "urn:uuid:observation-component-example-002";
|
|
246
|
+
export declare const EXAMPLE_IPS_COMPOSITION_IDENTIFIER: "ips-composition";
|
|
247
|
+
export declare const EXAMPLE_CONDITION_IDENTIFIER: "condition-example-001";
|
|
248
|
+
export declare const EXAMPLE_VITAL_SIGNS_NOTE: "Measured after rest.";
|
|
249
|
+
export declare const EXAMPLE_FHIR_STATUS_FINAL: "final";
|
|
250
|
+
export declare const EXAMPLE_FHIR_STATUS_ACTIVE: "active";
|
|
251
|
+
export declare const EXAMPLE_FHIR_VERIFICATION_STATUS_CONFIRMED: "confirmed";
|
|
252
|
+
export declare const EXAMPLE_VITAL_SIGN_VALUE_HEART_RATE: 68;
|
|
253
|
+
export declare const EXAMPLE_VITAL_SIGN_VALUE_SYSTOLIC: 120;
|
|
254
|
+
export declare const EXAMPLE_VITAL_SIGN_VALUE_DIASTOLIC: 78;
|
|
255
|
+
export declare const EXAMPLE_VITAL_SIGN_VALUE_BODY_TEMPERATURE: 37.1;
|
|
256
|
+
export declare const EXAMPLE_VITAL_SIGN_UNIT_BEATS_PER_MINUTE: "/min";
|
|
257
|
+
export declare const EXAMPLE_OBSERVATION_CATEGORY_VITAL_SIGNS: "http://terminology.hl7.org/CodeSystem/observation-category|vital-signs";
|
|
258
|
+
export declare const EXAMPLE_VITAL_SIGN_CODE_HEART_RATE: "8867-4";
|
|
259
|
+
export declare const EXAMPLE_VITAL_SIGN_CODE_BODY_TEMPERATURE: "8310-5";
|
|
260
|
+
export declare const EXAMPLE_VITAL_SIGN_CODE_BLOOD_PRESSURE_PANEL: "85354-9";
|
|
261
|
+
export declare const EXAMPLE_VITAL_SIGN_CODE_SYSTOLIC_BLOOD_PRESSURE: "8480-6";
|
|
262
|
+
export declare const EXAMPLE_VITAL_SIGN_CODE_DIASTOLIC_BLOOD_PRESSURE: "8462-4";
|
|
263
|
+
export declare const EXAMPLE_VITAL_SIGN_DISPLAY_HEART_RATE: "Heart rate";
|
|
264
|
+
export declare const EXAMPLE_VITAL_SIGN_DISPLAY_BODY_TEMPERATURE: "Body temperature";
|
|
265
|
+
export declare const EXAMPLE_VITAL_SIGN_DISPLAY_VITAL_SIGNS: "Vital Signs";
|
|
266
|
+
export declare const EXAMPLE_VITAL_SIGN_DISPLAY_BLOOD_PRESSURE_PANEL: "Blood pressure panel";
|
|
267
|
+
/** Shared composite tag summary used by blood-pressure parent observation indexing examples. */
|
|
268
|
+
export declare const EXAMPLE_OBSERVATION_COMPONENT_TAGS_BLOOD_PRESSURE: "bp-systolic,bp-diastolic";
|
|
269
|
+
/** Shared component code summary used by blood-pressure parent observation indexing examples. */
|
|
270
|
+
export declare const EXAMPLE_OBSERVATION_COMPONENT_CODE_VALUES_BLOOD_PRESSURE: "8480-6,8462-4";
|
|
271
|
+
/** Shared human-readable component-name summary used by blood-pressure parent observation indexing examples. */
|
|
272
|
+
export declare const EXAMPLE_OBSERVATION_COMPONENT_NAMES_BLOOD_PRESSURE: "Systolic blood pressure,Diastolic blood pressure";
|
|
273
|
+
export declare const EXAMPLE_SOCIAL_HISTORY_CATEGORY: "http://terminology.hl7.org/CodeSystem/observation-category|social-history";
|
|
274
|
+
export declare const EXAMPLE_OBSERVATION_CODE_TOBACCO_SMOKING_STATUS: "72166-2";
|
|
275
|
+
export declare const EXAMPLE_OBSERVATION_DISPLAY_TOBACCO_SMOKING_STATUS: "Tobacco smoking status";
|
|
276
|
+
export declare const EXAMPLE_OBSERVATION_VALUE_CONCEPT_NEVER_SMOKER_CODE: "266919005";
|
|
277
|
+
export declare const EXAMPLE_OBSERVATION_VALUE_CONCEPT_NEVER_SMOKER_DISPLAY: "Never smoker";
|
|
278
|
+
export declare const EXAMPLE_OBSERVATION_VALUE_CONCEPT_NEVER_SMOKER: "http://snomed.info/sct|266919005";
|
|
279
|
+
export declare const EXAMPLE_CONDITION_CODE: "http://snomed.info/sct|44054006";
|
|
280
|
+
export declare const EXAMPLE_MEDICATION_CODE_RXNORM: "http://www.nlm.nih.gov/research/umls/rxnorm|860975";
|
|
179
281
|
export declare const EXAMPLE_MEDICATION_TIMING_PERIOD_UNIT_HOURS: "h";
|
|
180
282
|
export declare const EXAMPLE_MEDICATION_IBUPROFEN_TEXT: "Ibuprofen 400 mg";
|
|
181
283
|
export declare const EXAMPLE_MEDICATION_IBUPROFEN_IDENTIFIER_PREFIX: "urn:uuid:med-ibuprofen";
|
|
@@ -289,35 +391,35 @@ export declare function buildExampleCommunicationIngestionPayload({ subjectDid,
|
|
|
289
391
|
data: {
|
|
290
392
|
type: string;
|
|
291
393
|
resource: {
|
|
292
|
-
resourceType:
|
|
394
|
+
resourceType: "Communication";
|
|
293
395
|
status: string;
|
|
294
396
|
subject: {
|
|
295
397
|
reference: string;
|
|
296
398
|
};
|
|
297
399
|
category: {
|
|
298
400
|
coding: {
|
|
299
|
-
system:
|
|
401
|
+
system: "http://terminology.hl7.org/CodeSystem/communication-category";
|
|
300
402
|
code: string;
|
|
301
403
|
}[];
|
|
302
404
|
}[];
|
|
303
405
|
payload: {
|
|
304
406
|
contentAttachment: {
|
|
305
|
-
contentType:
|
|
306
|
-
title:
|
|
407
|
+
contentType: "application/fhir+json";
|
|
408
|
+
title: "IPS Document Bundle";
|
|
307
409
|
data: string;
|
|
308
410
|
};
|
|
309
411
|
}[];
|
|
310
412
|
note: {
|
|
311
|
-
text:
|
|
413
|
+
text: "IPS ingestion request";
|
|
312
414
|
}[];
|
|
313
415
|
meta: {
|
|
314
416
|
claims: {
|
|
315
|
-
'@context':
|
|
417
|
+
'@context': "org.hl7.fhir.r4";
|
|
316
418
|
"Communication.category": string;
|
|
317
419
|
"Communication.subject": "did:web:api.acme.org:individual:123";
|
|
318
420
|
"Communication.sent": string;
|
|
319
|
-
"Communication.content-attachment-type":
|
|
320
|
-
"Communication.text":
|
|
421
|
+
"Communication.content-attachment-type": "application/fhir+json";
|
|
422
|
+
"Communication.text": "IPS ingestion request";
|
|
321
423
|
};
|
|
322
424
|
};
|
|
323
425
|
};
|
package/dist/examples/shared.js
CHANGED
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
// Always create JSDoc, do not use strings inline in keys nor values, use types instead, and reuse the data test examples.
|
|
3
3
|
import { DataspaceSectors } from '../constants/sectors.js';
|
|
4
4
|
import { HostNetworkTypes } from '../constants/network.js';
|
|
5
|
+
import { FhirCodeSystems } from '../constants/fhir-code-systems.js';
|
|
6
|
+
import { Format } from '../constants/Schemas.js';
|
|
7
|
+
import { ResourceTypesFhirR4 } from '../constants/fhir-resource-types.js';
|
|
5
8
|
import { BirthSex, GenderIdentity } from '../constants/identity-gender.js';
|
|
6
9
|
import { IdKind } from '../constants/identity-identifiers.js';
|
|
7
|
-
import { HealthcareActorRoles, HealthcareBasicSections, HealthcareConsentPurposes, } from '../constants/healthcare.js';
|
|
10
|
+
import { HealthcareActorRoles, HealthcareBasicSections, HealthcareConsentPurposes, HealthcareDocumentTypes, } from '../constants/healthcare.js';
|
|
11
|
+
import { CommunicationCategoryCodes } from '../constants/communication.js';
|
|
12
|
+
import { LOINC_SYSTEM_URL } from '../models/clinical-sections.js';
|
|
8
13
|
import { CommunicationClaim } from '../models/interoperable-claims/communication-claims.js';
|
|
9
14
|
import { MedicationStatementClaim, MedicationStatementClaimsFhirApiExtended, } from '../models/interoperable-claims/medication-statement-claims.js';
|
|
10
15
|
import { medicationStatementFlatToFhirR4 } from '../utils/clinical-resource-converters.js';
|
|
@@ -26,6 +31,7 @@ export const EXAMPLE_ROUTE_VERSION = 'v1';
|
|
|
26
31
|
export const EXAMPLE_SECTOR = DataspaceSectors.HealthCare;
|
|
27
32
|
export const EXAMPLE_EMAIL_CONTROLLER_ORG = 'controller@acme.org';
|
|
28
33
|
export const EXAMPLE_EMAIL_CONTROLLER_INDIVIDUAL = 'ana.parent@example.org';
|
|
34
|
+
export const EXAMPLE_INTEROPERABLE_CONTEXT_FHIR_API = Format.FHIR_API;
|
|
29
35
|
export const EXAMPLE_SELF_REGISTERED_INDIVIDUAL_ALTERNATE_NAME = 'Jane';
|
|
30
36
|
export const EXAMPLE_SELF_REGISTERED_INDIVIDUAL_EMAIL = 'Jane.Doe@example.com';
|
|
31
37
|
export const EXAMPLE_SELF_REGISTERED_INDIVIDUAL_EMAIL_NORMALIZED = 'jane.doe@example.com';
|
|
@@ -103,6 +109,10 @@ export const EXAMPLE_CONTROLLER_SAME_AS = `mailto:${EXAMPLE_CONTROLLER_EMAIL}`;
|
|
|
103
109
|
export const EXAMPLE_API_ORGANIZATION_DID = 'did:web:api.acme.org';
|
|
104
110
|
export const EXAMPLE_SERVICE_PUBLIC_DID = 'did:web:public.acme.org';
|
|
105
111
|
export const EXAMPLE_SUBJECT_DID = 'did:web:api.acme.org:individual:123';
|
|
112
|
+
export const EXAMPLE_SUBJECT_DID_SECONDARY = 'did:web:api.acme.org:individual:456';
|
|
113
|
+
export const EXAMPLE_SUBJECT_DID_TERTIARY = 'did:web:api.acme.org:individual:789';
|
|
114
|
+
export const EXAMPLE_SUBJECT_DID_CONDITION = 'did:web:api.acme.org:individual:cond';
|
|
115
|
+
export const EXAMPLE_SUBJECT_DID_IPS = 'did:web:api.acme.org:individual:ips';
|
|
106
116
|
export const EXAMPLE_PROFESSIONAL_DID = 'did:web:api.acme.org:professional:1';
|
|
107
117
|
export const EXAMPLE_PROVIDER_ORGANIZATION_DID = 'did:web:hospital.acme.org';
|
|
108
118
|
export const EXAMPLE_PROVIDER_ORGANIZATION_URL = 'https://hospital.acme.org';
|
|
@@ -134,6 +144,11 @@ export const EXAMPLE_PRACTITIONER_DID = 'did:web:practitioner.example';
|
|
|
134
144
|
export const EXAMPLE_GENERIC_SUBJECT_DID = 'did:web:subject.example';
|
|
135
145
|
export const EXAMPLE_EMAIL_PROFESSIONAL = 'doctor.oncall@example.org';
|
|
136
146
|
export const EXAMPLE_EMAIL_RELATED_PERSON = 'parent.guardian@example.org';
|
|
147
|
+
export const EXAMPLE_RELATED_PERSON_ACTIVE_NAME = 'Jose Example';
|
|
148
|
+
export const EXAMPLE_RELATED_PERSON_INACTIVE_IDENTIFIER = 'urn:uuid:related-person-002';
|
|
149
|
+
export const EXAMPLE_RELATED_PERSON_INACTIVE_EMAIL = 'caregiver.two@example.org';
|
|
150
|
+
export const EXAMPLE_RELATED_PERSON_INACTIVE_NAME = 'Maria Example';
|
|
151
|
+
export const EXAMPLE_RELATED_PERSON_INACTIVE_RELATIONSHIP = 'http://terminology.hl7.org/CodeSystem/v3-RoleCode|NMTH';
|
|
137
152
|
export const EXAMPLE_HEALTHCARE_JURISDICTION = 'ES';
|
|
138
153
|
export const EXAMPLE_SECONDARY_HEALTHCARE_JURISDICTION = EXAMPLE_SECONDARY_EU_COUNTRY;
|
|
139
154
|
export const EXAMPLE_ORGANIZATION_CONTROLLER_ROLE = 'RESPRSN';
|
|
@@ -155,12 +170,18 @@ export const EXAMPLE_CONSENT_PURPOSE_TREATMENT = HealthcareConsentPurposes.Treat
|
|
|
155
170
|
export const EXAMPLE_CONSENT_PURPOSE_EMERGENCY_TREATMENT = HealthcareConsentPurposes.EmergencyTreatment;
|
|
156
171
|
export const EXAMPLE_CONSENT_UUID = 'urn:uuid:consent-example-001';
|
|
157
172
|
export const EXAMPLE_CONSENT_IDENTIFIER = EXAMPLE_CONSENT_UUID;
|
|
173
|
+
export const EXAMPLE_CONSENT_IDENTIFIER_SECONDARY = 'urn:uuid:consent-example-002';
|
|
158
174
|
export const EXAMPLE_CONSENT_OPERATION_IDENTIFIER = 'consent-operation-example-001';
|
|
159
175
|
export const EXAMPLE_CONSENT_OPERATION_THREAD_ID = 'thread-consent-example-001';
|
|
160
176
|
export const EXAMPLE_CONSENT_PERIOD_START = '2026-05-20T00:00:00Z';
|
|
161
177
|
export const EXAMPLE_COMMUNICATION_UUID = 'urn:uuid:communication-example-001';
|
|
162
178
|
export const EXAMPLE_COMMUNICATION_IDENTIFIER = EXAMPLE_COMMUNICATION_UUID;
|
|
163
179
|
export const EXAMPLE_IPS_BUNDLE_NOTE_TEXT = 'IPS ingestion request';
|
|
180
|
+
export const EXAMPLE_CONTENT_TYPE_APPLICATION_JSON = 'application/json';
|
|
181
|
+
export const EXAMPLE_CONTENT_TYPE_FHIR_JSON = 'application/fhir+json';
|
|
182
|
+
export const EXAMPLE_IPS_BUNDLE_ATTACHMENT_TITLE = 'IPS Document Bundle';
|
|
183
|
+
export const EXAMPLE_BUNDLE_RESOURCE_TYPE = 'Bundle';
|
|
184
|
+
export const EXAMPLE_BUNDLE_TYPE_BATCH = 'batch';
|
|
164
185
|
export const EXAMPLE_MEDICATION_STATEMENT_UUID = 'urn:uuid:medication-statement-example-001';
|
|
165
186
|
export const EXAMPLE_MEDICATION_STATEMENT_IDENTIFIER = EXAMPLE_MEDICATION_STATEMENT_UUID;
|
|
166
187
|
export const EXAMPLE_MEDICATION_STATEMENT_STATUS = 'active';
|
|
@@ -172,6 +193,15 @@ export const EXAMPLE_DOCUMENT_REFERENCE_CONTENT_TYPE_PDF = 'application/pdf';
|
|
|
172
193
|
export const EXAMPLE_DOCUMENT_REFERENCE_URL = 'https://example.org/prescription.pdf';
|
|
173
194
|
export const EXAMPLE_DOCUMENT_REFERENCE_DESCRIPTION = 'Prescription PDF';
|
|
174
195
|
export const EXAMPLE_DOCUMENT_REFERENCE_DATE = '2026-06-12T10:00:00Z';
|
|
196
|
+
export const EXAMPLE_CLINICAL_EVENT_DATE_TIME = '2026-06-01T10:00:00Z';
|
|
197
|
+
export const EXAMPLE_VITAL_SIGNS_EFFECTIVE_DATE_TIME = '2026-06-11T08:30:00Z';
|
|
198
|
+
export const EXAMPLE_VITAL_SIGNS_PANEL_DATE_TIME = '2026-06-11T09:00:00Z';
|
|
199
|
+
export const EXAMPLE_VAULT_PRIMARY_DATE_TIME = '2026-06-11T10:00:00Z';
|
|
200
|
+
export const EXAMPLE_VAULT_SECONDARY_DATE_TIME = '2026-06-11T10:05:00Z';
|
|
201
|
+
export const EXAMPLE_VAULT_IPS_DATE_TIME = '2026-06-11T11:00:00Z';
|
|
202
|
+
export const EXAMPLE_VAULT_TERTIARY_DATE_TIME = '2026-06-11T12:00:00Z';
|
|
203
|
+
export const EXAMPLE_VAULT_QUATERNARY_DATE_TIME = '2026-06-11T13:00:00Z';
|
|
204
|
+
export const EXAMPLE_VAULT_CONDITION_DATE_TIME = '2026-06-11T14:00:00Z';
|
|
175
205
|
export const EXAMPLE_DOCUMENT_REFERENCE_CONTENT_HASH = 'z-document-reference-example-hash';
|
|
176
206
|
export const EXAMPLE_DOCUMENT_REFERENCE_LANGUAGE = 'en';
|
|
177
207
|
export const EXAMPLE_CONSENT_ATTACHMENT_CONTENT_TYPE = EXAMPLE_DOCUMENT_REFERENCE_CONTENT_TYPE_PDF;
|
|
@@ -180,10 +210,87 @@ export const EXAMPLE_CONTENT_ADDRESSED_CONSENT_IDENTIFIER = 'zQmYwAPJzv5CZsnAzt8
|
|
|
180
210
|
export const EXAMPLE_CONTENT_ADDRESSED_SOURCE_REFERENCE = 'zQmWvM9dQmWvM9dQmWvM9dQmWvM9dQmWvM9dQmWvM9dQmWv';
|
|
181
211
|
export const EXAMPLE_CONTENT_ADDRESSED_EVIDENCE_RECORD_IDENTIFIER = 'zQmXh8Y3mJQ4d7MmX7o9nP5sQ2uT1vW6xY8zA3bC4dE5fG';
|
|
182
212
|
export const EXAMPLE_EMPLOYEE_ACTIVATION_CODE = 'ACT-001';
|
|
213
|
+
export const EXAMPLE_LICENSE_OFFER_ID = 'urn:offer:family-003';
|
|
214
|
+
export const EXAMPLE_LICENSE_INVALID_OFFER_ID = 'urn:offer:invalid-001';
|
|
215
|
+
export const EXAMPLE_LICENSE_ACCEPTED_OFFER_ID = EXAMPLE_LICENSE_OFFER_ID;
|
|
216
|
+
export const EXAMPLE_LICENSE_AMOUNT = '9.99';
|
|
217
|
+
export const EXAMPLE_LICENSE_CURRENCY = 'EUR';
|
|
218
|
+
export const EXAMPLE_LICENSE_PLAN_NAME = 'Family starter';
|
|
219
|
+
export const EXAMPLE_LICENSE_SKU = 'FAM-START';
|
|
220
|
+
export const EXAMPLE_LICENSE_PAYMENT_METHOD_INVOICE = 'invoice';
|
|
221
|
+
export const EXAMPLE_LICENSE_CHECKOUT_URL = 'https://pay.example/offer-001';
|
|
222
|
+
export const EXAMPLE_LICENSE_PAYMENT_URL = 'https://pay.example/invoice-001';
|
|
223
|
+
export const EXAMPLE_LICENSE_INVOICE_ID = 'invoice-001';
|
|
224
|
+
export const EXAMPLE_INVOICE_DATE = '2026-06-11T10:00:00Z';
|
|
225
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_PRODUCT_CODE = '08412345678903';
|
|
226
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_PRODUCT_NAME = 'Sterile saline bottle 500 mL';
|
|
227
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_CATEGORY = 'medical-supplies';
|
|
228
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_SUPPLIER_PRODUCT_CODE = 'IMP-SAL-500';
|
|
229
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_IDENTIFIER = 'chargeitem-001';
|
|
230
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_STATUS = 'billable';
|
|
231
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_PART_OF = EXAMPLE_LICENSE_INVOICE_ID;
|
|
232
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_QUANTITY = '3|bottle';
|
|
233
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_QUANTITY_NUMBER = '3';
|
|
234
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_QUANTITY_UNIT = 'bottle';
|
|
235
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_CODE_TEXT = 'Botella de suero salino estéril 500 mL';
|
|
236
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_ITEMS_PER_UNIT = '24';
|
|
237
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_ITEMS_QUANTITY = '500|mL';
|
|
238
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_ITEMS_QUANTITY_NUMBER = '500';
|
|
239
|
+
export const EXAMPLE_INVOICE_CHARGEITEM_ITEMS_QUANTITY_UNIT = 'mL';
|
|
240
|
+
export const EXAMPLE_LICENSE_PLAN_DEFAULT = 'default';
|
|
241
|
+
export const EXAMPLE_LICENSE_RENEWAL_CYCLE_YEARLY = '12m';
|
|
242
|
+
export const EXAMPLE_LICENSE_SUBJECT_ID_ACTIVE = 'urn:uuid:employee-controller-active-001';
|
|
243
|
+
export const EXAMPLE_LICENSE_SUBJECT_ID_AVAILABLE = 'urn:uuid:subject-license-available-001';
|
|
244
|
+
export const EXAMPLE_LICENSE_SEAT_UUID_ACTIVE = '8a8a5e1b-0d8e-4a7c-8c39-3b8034440001';
|
|
245
|
+
export const EXAMPLE_LICENSE_SEAT_UUID_SECONDARY = '8a8a5e1b-0d8e-4a7c-8c39-3b8034440002';
|
|
246
|
+
export const EXAMPLE_LICENSE_SEAT_UUID_AVAILABLE = '8a8a5e1b-0d8e-4a7c-8c39-3b8034440009';
|
|
247
|
+
export const EXAMPLE_JOB_IDENTIFIER_LICENSE_SEARCH = 'job-license-search-001';
|
|
248
|
+
export const EXAMPLE_THREAD_IDENTIFIER_LICENSE_SEARCH = 'thid-license-search-001';
|
|
249
|
+
export const EXAMPLE_RELATED_PERSON_IDENTIFIER = 'rel-001';
|
|
183
250
|
export const EXAMPLE_DEVICE_CLIENT_ID = 'did:web:device-001';
|
|
184
251
|
export const EXAMPLE_LIVE_GW_BASE_URL_LOCAL = 'http://127.0.0.1:3000';
|
|
185
252
|
export const EXAMPLE_LIVE_GW_BASE_URL_DOCKER = 'http://127.0.0.1:8000';
|
|
186
253
|
export const EXAMPLE_MEDICATION_DOSE_UNIT_MG = 'mg';
|
|
254
|
+
export const EXAMPLE_OBSERVATION_IDENTIFIER = 'urn:uuid:observation-example-001';
|
|
255
|
+
export const EXAMPLE_OBSERVATION_IDENTIFIER_IPS = 'vs-1';
|
|
256
|
+
export const EXAMPLE_OBSERVATION_PANEL_IDENTIFIER = 'urn:uuid:observation-panel-example-001';
|
|
257
|
+
export const EXAMPLE_OBSERVATION_COMPONENT_IDENTIFIER = 'urn:uuid:observation-component-example-001';
|
|
258
|
+
export const EXAMPLE_OBSERVATION_COMPONENT_IDENTIFIER_SECONDARY = 'urn:uuid:observation-component-example-002';
|
|
259
|
+
export const EXAMPLE_IPS_COMPOSITION_IDENTIFIER = 'ips-composition';
|
|
260
|
+
export const EXAMPLE_CONDITION_IDENTIFIER = 'condition-example-001';
|
|
261
|
+
export const EXAMPLE_VITAL_SIGNS_NOTE = 'Measured after rest.';
|
|
262
|
+
export const EXAMPLE_FHIR_STATUS_FINAL = 'final';
|
|
263
|
+
export const EXAMPLE_FHIR_STATUS_ACTIVE = 'active';
|
|
264
|
+
export const EXAMPLE_FHIR_VERIFICATION_STATUS_CONFIRMED = 'confirmed';
|
|
265
|
+
export const EXAMPLE_VITAL_SIGN_VALUE_HEART_RATE = 68;
|
|
266
|
+
export const EXAMPLE_VITAL_SIGN_VALUE_SYSTOLIC = 120;
|
|
267
|
+
export const EXAMPLE_VITAL_SIGN_VALUE_DIASTOLIC = 78;
|
|
268
|
+
export const EXAMPLE_VITAL_SIGN_VALUE_BODY_TEMPERATURE = 37.1;
|
|
269
|
+
export const EXAMPLE_VITAL_SIGN_UNIT_BEATS_PER_MINUTE = '/min';
|
|
270
|
+
export const EXAMPLE_OBSERVATION_CATEGORY_VITAL_SIGNS = 'http://terminology.hl7.org/CodeSystem/observation-category|vital-signs';
|
|
271
|
+
export const EXAMPLE_VITAL_SIGN_CODE_HEART_RATE = '8867-4';
|
|
272
|
+
export const EXAMPLE_VITAL_SIGN_CODE_BODY_TEMPERATURE = '8310-5';
|
|
273
|
+
export const EXAMPLE_VITAL_SIGN_CODE_BLOOD_PRESSURE_PANEL = '85354-9';
|
|
274
|
+
export const EXAMPLE_VITAL_SIGN_CODE_SYSTOLIC_BLOOD_PRESSURE = '8480-6';
|
|
275
|
+
export const EXAMPLE_VITAL_SIGN_CODE_DIASTOLIC_BLOOD_PRESSURE = '8462-4';
|
|
276
|
+
export const EXAMPLE_VITAL_SIGN_DISPLAY_HEART_RATE = 'Heart rate';
|
|
277
|
+
export const EXAMPLE_VITAL_SIGN_DISPLAY_BODY_TEMPERATURE = 'Body temperature';
|
|
278
|
+
export const EXAMPLE_VITAL_SIGN_DISPLAY_VITAL_SIGNS = 'Vital Signs';
|
|
279
|
+
export const EXAMPLE_VITAL_SIGN_DISPLAY_BLOOD_PRESSURE_PANEL = 'Blood pressure panel';
|
|
280
|
+
/** Shared composite tag summary used by blood-pressure parent observation indexing examples. */
|
|
281
|
+
export const EXAMPLE_OBSERVATION_COMPONENT_TAGS_BLOOD_PRESSURE = 'bp-systolic,bp-diastolic';
|
|
282
|
+
/** Shared component code summary used by blood-pressure parent observation indexing examples. */
|
|
283
|
+
export const EXAMPLE_OBSERVATION_COMPONENT_CODE_VALUES_BLOOD_PRESSURE = `${EXAMPLE_VITAL_SIGN_CODE_SYSTOLIC_BLOOD_PRESSURE},${EXAMPLE_VITAL_SIGN_CODE_DIASTOLIC_BLOOD_PRESSURE}`;
|
|
284
|
+
/** Shared human-readable component-name summary used by blood-pressure parent observation indexing examples. */
|
|
285
|
+
export const EXAMPLE_OBSERVATION_COMPONENT_NAMES_BLOOD_PRESSURE = 'Systolic blood pressure,Diastolic blood pressure';
|
|
286
|
+
export const EXAMPLE_SOCIAL_HISTORY_CATEGORY = 'http://terminology.hl7.org/CodeSystem/observation-category|social-history';
|
|
287
|
+
export const EXAMPLE_OBSERVATION_CODE_TOBACCO_SMOKING_STATUS = '72166-2';
|
|
288
|
+
export const EXAMPLE_OBSERVATION_DISPLAY_TOBACCO_SMOKING_STATUS = 'Tobacco smoking status';
|
|
289
|
+
export const EXAMPLE_OBSERVATION_VALUE_CONCEPT_NEVER_SMOKER_CODE = '266919005';
|
|
290
|
+
export const EXAMPLE_OBSERVATION_VALUE_CONCEPT_NEVER_SMOKER_DISPLAY = 'Never smoker';
|
|
291
|
+
export const EXAMPLE_OBSERVATION_VALUE_CONCEPT_NEVER_SMOKER = `${FhirCodeSystems.SnomedCt}|${EXAMPLE_OBSERVATION_VALUE_CONCEPT_NEVER_SMOKER_CODE}`;
|
|
292
|
+
export const EXAMPLE_CONDITION_CODE = 'http://snomed.info/sct|44054006';
|
|
293
|
+
export const EXAMPLE_MEDICATION_CODE_RXNORM = 'http://www.nlm.nih.gov/research/umls/rxnorm|860975';
|
|
187
294
|
export const EXAMPLE_MEDICATION_TIMING_PERIOD_UNIT_HOURS = 'h';
|
|
188
295
|
export const EXAMPLE_MEDICATION_IBUPROFEN_TEXT = 'Ibuprofen 400 mg';
|
|
189
296
|
export const EXAMPLE_MEDICATION_IBUPROFEN_IDENTIFIER_PREFIX = 'urn:uuid:med-ibuprofen';
|
|
@@ -236,33 +343,33 @@ export function buildExampleCommunicationIngestionPayload({ subjectDid = EXAMPLE
|
|
|
236
343
|
{
|
|
237
344
|
type: 'Communication-ingestion-request-v1.0',
|
|
238
345
|
resource: {
|
|
239
|
-
resourceType:
|
|
346
|
+
resourceType: ResourceTypesFhirR4.Communication,
|
|
240
347
|
status: 'completed',
|
|
241
348
|
subject: { reference: `Patient/${subjectDid}` },
|
|
242
349
|
category: [{
|
|
243
350
|
coding: [{
|
|
244
|
-
system:
|
|
245
|
-
code:
|
|
351
|
+
system: CommunicationCategoryCodes.Notification.system,
|
|
352
|
+
code: CommunicationCategoryCodes.Notification.code,
|
|
246
353
|
}],
|
|
247
354
|
}],
|
|
248
355
|
payload: [
|
|
249
356
|
{
|
|
250
357
|
contentAttachment: {
|
|
251
|
-
contentType:
|
|
252
|
-
title:
|
|
358
|
+
contentType: EXAMPLE_CONTENT_TYPE_FHIR_JSON,
|
|
359
|
+
title: EXAMPLE_IPS_BUNDLE_ATTACHMENT_TITLE,
|
|
253
360
|
data: ipsBundleBase64,
|
|
254
361
|
},
|
|
255
362
|
},
|
|
256
363
|
],
|
|
257
|
-
note: [{ text:
|
|
364
|
+
note: [{ text: EXAMPLE_IPS_BUNDLE_NOTE_TEXT }],
|
|
258
365
|
meta: {
|
|
259
366
|
claims: {
|
|
260
|
-
'@context':
|
|
261
|
-
[CommunicationClaim.Category]:
|
|
367
|
+
'@context': Format.FHIR_R4,
|
|
368
|
+
[CommunicationClaim.Category]: CommunicationCategoryCodes.Notification.claim,
|
|
262
369
|
[CommunicationClaim.Subject]: subjectDid,
|
|
263
370
|
[CommunicationClaim.Sent]: sent,
|
|
264
|
-
[CommunicationClaim.ContentAttachmentType]:
|
|
265
|
-
[CommunicationClaim.Text]:
|
|
371
|
+
[CommunicationClaim.ContentAttachmentType]: EXAMPLE_CONTENT_TYPE_FHIR_JSON,
|
|
372
|
+
[CommunicationClaim.Text]: EXAMPLE_IPS_BUNDLE_NOTE_TEXT,
|
|
266
373
|
},
|
|
267
374
|
},
|
|
268
375
|
},
|
|
@@ -331,7 +438,7 @@ export function buildExampleLiveMedicationCases(seed = Date.now()) {
|
|
|
331
438
|
export function buildExampleMedicationIpsDocumentBundle(input) {
|
|
332
439
|
const subjectDid = input.subjectDid || EXAMPLE_SUBJECT_DID;
|
|
333
440
|
const medicationClaims = {
|
|
334
|
-
'@context':
|
|
441
|
+
'@context': Format.FHIR_API,
|
|
335
442
|
[MedicationStatementClaim.Identifier]: input.medication.identifier,
|
|
336
443
|
[MedicationStatementClaim.Subject]: subjectDid,
|
|
337
444
|
[MedicationStatementClaim.Status]: EXAMPLE_MEDICATION_STATEMENT_STATUS,
|
|
@@ -353,22 +460,27 @@ export function buildExampleMedicationIpsDocumentBundle(input) {
|
|
|
353
460
|
claims: medicationClaims,
|
|
354
461
|
};
|
|
355
462
|
return {
|
|
356
|
-
resourceType:
|
|
463
|
+
resourceType: ResourceTypesFhirR4.Bundle,
|
|
357
464
|
type: 'document',
|
|
358
465
|
entry: [
|
|
359
466
|
{
|
|
360
467
|
resource: {
|
|
361
|
-
resourceType:
|
|
468
|
+
resourceType: ResourceTypesFhirR4.Composition,
|
|
362
469
|
id: `composition-${input.medication.identifier}`,
|
|
363
470
|
status: 'final',
|
|
364
471
|
subject: { reference: subjectDid },
|
|
365
|
-
type: {
|
|
472
|
+
type: {
|
|
473
|
+
coding: [{
|
|
474
|
+
system: HealthcareDocumentTypes.IPS.system,
|
|
475
|
+
code: HealthcareDocumentTypes.IPS.code,
|
|
476
|
+
}],
|
|
477
|
+
},
|
|
366
478
|
section: [
|
|
367
479
|
{
|
|
368
480
|
code: {
|
|
369
481
|
coding: [{
|
|
370
|
-
system:
|
|
371
|
-
code:
|
|
482
|
+
system: LOINC_SYSTEM_URL,
|
|
483
|
+
code: HealthcareBasicSections.HistoryOfMedicationUse.code,
|
|
372
484
|
}],
|
|
373
485
|
},
|
|
374
486
|
entry: [
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { BundleEntry, BundleJsonApi } from '../models/bundle';
|
|
2
|
+
import type { BuildVitalSignObservationClaimsInput } from '../utils/individual-bundle-vault';
|
|
3
|
+
/**
|
|
4
|
+
* Shared example inputs for authoring vital-sign Observations in claims-first
|
|
5
|
+
* flows.
|
|
6
|
+
*
|
|
7
|
+
* Reference:
|
|
8
|
+
* - HL7 CIMI Vital Signs with Qualifying Elements IG
|
|
9
|
+
* https://build.fhir.org/ig/HL7/cimi-vital-signs/
|
|
10
|
+
*
|
|
11
|
+
* These examples intentionally cover only direct vital-sign authoring inputs
|
|
12
|
+
* that a person or simple frontend form would create:
|
|
13
|
+
* - heart rate
|
|
14
|
+
* - body temperature
|
|
15
|
+
* - systolic blood pressure
|
|
16
|
+
* - diastolic blood pressure
|
|
17
|
+
*
|
|
18
|
+
* Panel/group authoring is excluded on purpose because panels are typically
|
|
19
|
+
* imported from external FHIR systems or composed by professional workflows.
|
|
20
|
+
*/
|
|
21
|
+
/** Example claims-first input for one heart rate Observation (LOINC 8867-4, UCUM /min). */
|
|
22
|
+
export declare const EXAMPLE_VITAL_SIGN_HEART_RATE_INPUT: BuildVitalSignObservationClaimsInput;
|
|
23
|
+
/** Example claims-first input for one body temperature Observation (LOINC 8310-5, UCUM Cel). */
|
|
24
|
+
export declare const EXAMPLE_VITAL_SIGN_BODY_TEMPERATURE_INPUT: BuildVitalSignObservationClaimsInput;
|
|
25
|
+
/** Example claims-first input for one systolic blood pressure Observation (LOINC 8480-6, UCUM mm[Hg]). */
|
|
26
|
+
export declare const EXAMPLE_VITAL_SIGN_SYSTOLIC_BLOOD_PRESSURE_INPUT: BuildVitalSignObservationClaimsInput;
|
|
27
|
+
/** Example claims-first input for one diastolic blood pressure Observation (LOINC 8462-4, UCUM mm[Hg]). */
|
|
28
|
+
export declare const EXAMPLE_VITAL_SIGN_DIASTOLIC_BLOOD_PRESSURE_INPUT: BuildVitalSignObservationClaimsInput;
|
|
29
|
+
/**
|
|
30
|
+
* Builds one high-level bundle entry for a vital-sign Observation.
|
|
31
|
+
*
|
|
32
|
+
* This is the preferred copy-paste pattern for frontend flows:
|
|
33
|
+
* 1. author flat claims with `buildVitalSignObservationClaims(...)`
|
|
34
|
+
* 2. convert them to one FHIR R4 `Observation`
|
|
35
|
+
* 3. keep the claims in `resource.meta.claims`
|
|
36
|
+
* 4. append the entry to a `Bundle.data` array
|
|
37
|
+
*/
|
|
38
|
+
export declare function buildVitalSignObservationEntry(input: BuildVitalSignObservationClaimsInput): BundleEntry;
|
|
39
|
+
/**
|
|
40
|
+
* Builds a high-level bundle with one entry per directly authored vital sign.
|
|
41
|
+
*
|
|
42
|
+
* Included examples:
|
|
43
|
+
* - heart rate
|
|
44
|
+
* - body temperature
|
|
45
|
+
* - systolic blood pressure
|
|
46
|
+
* - diastolic blood pressure
|
|
47
|
+
*
|
|
48
|
+
* Panels are intentionally excluded because the app user normally authors
|
|
49
|
+
* simple observations, not professional/imported panel structures.
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildExampleVitalSignsObservationBundle(): BundleJsonApi<BundleEntry>;
|
|
52
|
+
/**
|
|
53
|
+
* Builds the same vital-sign bundle through `CommunicationAttachedBundleSession`
|
|
54
|
+
* for flows that already use the in-memory bundle editor/session abstraction.
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildExampleVitalSignsObservationBundleSession(): BundleJsonApi<BundleEntry>;
|