@medplum/ccda 4.0.4 → 4.1.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.
@@ -38,6 +38,7 @@ export declare interface Ccda {
38
38
  author?: CcdaAuthor[];
39
39
  effectiveTime?: CcdaEffectiveTime[];
40
40
  custodian?: CcdaCustodian;
41
+ informationRecipient?: CcdaInformationRecipient;
41
42
  documentationOf?: CcdaDocumentationOf;
42
43
  title?: string;
43
44
  code?: CcdaCode;
@@ -63,8 +64,9 @@ export declare interface CcdaAct {
63
64
  templateId: CcdaTemplateId[];
64
65
  id?: CcdaId[];
65
66
  code: CcdaCode;
66
- statusCode: CcdaCode;
67
+ statusCode?: CcdaCode;
67
68
  effectiveTime?: CcdaEffectiveTime[];
69
+ priorityCode?: CcdaCode;
68
70
  entryRelationship?: CcdaEntryRelationship[];
69
71
  author?: CcdaAuthor[];
70
72
  text?: CcdaText;
@@ -88,7 +90,7 @@ export declare interface CcdaAssignedAuthor {
88
90
  addr: CcdaAddr[];
89
91
  telecom: CcdaTelecom[];
90
92
  assignedAuthoringDevice?: CcdaAssignedAuthoringDevice;
91
- representedOrganization?: CcdaRepresentedOrganization;
93
+ representedOrganization?: CcdaOrganization;
92
94
  }
93
95
 
94
96
  export declare interface CcdaAssignedAuthoringDevice {
@@ -98,7 +100,7 @@ export declare interface CcdaAssignedAuthoringDevice {
98
100
  }
99
101
 
100
102
  export declare interface CcdaAssignedCustodian {
101
- representedCustodianOrganization: CcdaRepresentedCustodianOrganization;
103
+ representedCustodianOrganization: CcdaOrganization;
102
104
  }
103
105
 
104
106
  export declare interface CcdaAssignedEntity {
@@ -106,7 +108,7 @@ export declare interface CcdaAssignedEntity {
106
108
  addr: CcdaAddr[];
107
109
  telecom: CcdaTelecom[];
108
110
  assignedPerson?: CcdaAssignedPerson;
109
- representedOrganization?: CcdaRepresentedOrganization;
111
+ representedOrganization?: CcdaOrganization;
110
112
  }
111
113
 
112
114
  export declare interface CcdaAssignedPerson {
@@ -197,10 +199,22 @@ export declare interface CcdaId {
197
199
  '@_assigningAuthorityName'?: string;
198
200
  }
199
201
 
202
+ export declare interface CcdaInformationRecipient {
203
+ intendedRecipient: CcdaIntendedRecipient;
204
+ }
205
+
206
+ export declare interface CcdaInformationRecipientEntry {
207
+ name?: CcdaName[];
208
+ }
209
+
200
210
  export declare interface CcdaInnerComponent {
201
211
  section: CcdaSection[];
202
212
  }
203
213
 
214
+ export declare interface CcdaIntendedRecipient {
215
+ informationRecipient: CcdaInformationRecipientEntry;
216
+ }
217
+
204
218
  export declare interface CcdaLanguageCommunication {
205
219
  languageCode?: CcdaCode;
206
220
  }
@@ -222,16 +236,10 @@ export declare interface CcdaManufacturedProduct {
222
236
  '@_classCode'?: string;
223
237
  templateId?: CcdaTemplateId[];
224
238
  manufacturedMaterial?: CcdaManufacturedMaterial[];
225
- manufacturerOrganization?: CcdaManufacturerOrganization[];
239
+ manufacturerOrganization?: CcdaOrganization[];
226
240
  manufacturedLabeledDrug?: CcdaManufacturedLabeledDrug[];
227
241
  }
228
242
 
229
- export declare interface CcdaManufacturerOrganization {
230
- '@_classCode'?: string;
231
- id?: CcdaId[];
232
- name: string[];
233
- }
234
-
235
243
  export declare interface CcdaName {
236
244
  '@_use'?: 'ANON' | 'C' | 'L' | 'P' | 'TEMP';
237
245
  family?: string;
@@ -264,6 +272,14 @@ export declare interface CcdaObservationRange {
264
272
  value?: CcdaValue;
265
273
  }
266
274
 
275
+ export declare interface CcdaOrganization {
276
+ '@_classCode'?: string;
277
+ id?: CcdaId[];
278
+ name?: string[];
279
+ telecom?: CcdaTelecom[];
280
+ addr?: CcdaAddr[];
281
+ }
282
+
267
283
  export declare interface CcdaOrganizer {
268
284
  '@_classCode': 'CLUSTER';
269
285
  '@_moodCode': 'EVN';
@@ -384,20 +400,6 @@ export declare interface CcdaReferenceRange {
384
400
  observationRange: CcdaObservationRange;
385
401
  }
386
402
 
387
- export declare interface CcdaRepresentedCustodianOrganization {
388
- id?: CcdaId[];
389
- name?: string[];
390
- telecom?: CcdaTelecom[];
391
- addr?: CcdaAddr[];
392
- }
393
-
394
- export declare interface CcdaRepresentedOrganization {
395
- id?: CcdaId[];
396
- name?: string[];
397
- telecom?: CcdaTelecom[];
398
- addr?: CcdaAddr[];
399
- }
400
-
401
403
  export declare interface CcdaScopingEntity {
402
404
  '@_classCode'?: string;
403
405
  '@_typeCode'?: string;
@@ -501,9 +503,10 @@ export declare function convertCcdaToXml(ccda: Ccda): string;
501
503
  /**
502
504
  * Convert a FHIR bundle to a C-CDA document.
503
505
  * @param bundle - The FHIR bundle to convert.
506
+ * @param options - Optional options.
504
507
  * @returns The C-CDA document.
505
508
  */
506
- export declare function convertFhirToCcda(bundle: Bundle): Ccda;
509
+ export declare function convertFhirToCcda(bundle: Bundle, options?: FhirToCcdaOptions): Ccda;
507
510
 
508
511
  export declare function convertToCompactXml(obj: any): string;
509
512
 
@@ -545,6 +548,13 @@ export declare class EnumMapper<TFhirValue extends string, TCcdaValue extends st
545
548
 
546
549
  export declare const FHIR_CVX_URL = "http://hl7.org/fhir/sid/cvx";
547
550
 
551
+ export declare interface FhirToCcdaOptions {
552
+ /**
553
+ * Type of C-CDA document to generate.
554
+ */
555
+ type?: 'referral' | 'discharge' | 'summary';
556
+ }
557
+
548
558
  export declare const GENDER_MAPPER: EnumMapper<"unknown" | "female" | "male" | "other", "M" | "F" | "UN">;
549
559
 
550
560
  export declare const GOALS_SECTION_TEMPLATE_IDS: CcdaTemplateId[];
@@ -624,6 +634,8 @@ export declare const LOINC_PROCEDURES_SECTION = "47519-4";
624
634
 
625
635
  export declare const LOINC_REASON_FOR_REFERRAL_SECTION = "42349-1";
626
636
 
637
+ export declare const LOINC_REFERRAL_NOTE = "57133-1";
638
+
627
639
  export declare const LOINC_RESULTS_SECTION = "30954-2";
628
640
 
629
641
  export declare const LOINC_SOCIAL_HISTORY_SECTION = "29762-2";
@@ -739,6 +751,14 @@ export declare const RACE_CODE_SYSTEM = "http://terminology.hl7.org/CodeSystem/v
739
751
 
740
752
  export declare const REASON_FOR_REFERRAL_SECTION_TEMPLATE_IDS: CcdaTemplateId[];
741
753
 
754
+ export declare const REFERRAL_TEMPLATE_IDS: ({
755
+ '@_root': string;
756
+ '@_extension': string;
757
+ } | {
758
+ '@_root': string;
759
+ '@_extension'?: undefined;
760
+ })[];
761
+
742
762
  export declare const RESULTS_SECTION_TEMPLATE_IDS: CcdaTemplateId[];
743
763
 
744
764
  export declare const SOCIAL_HISTORY_SECTION_TEMPLATE_IDS: CcdaTemplateId[];
@@ -38,6 +38,7 @@ export declare interface Ccda {
38
38
  author?: CcdaAuthor[];
39
39
  effectiveTime?: CcdaEffectiveTime[];
40
40
  custodian?: CcdaCustodian;
41
+ informationRecipient?: CcdaInformationRecipient;
41
42
  documentationOf?: CcdaDocumentationOf;
42
43
  title?: string;
43
44
  code?: CcdaCode;
@@ -63,8 +64,9 @@ export declare interface CcdaAct {
63
64
  templateId: CcdaTemplateId[];
64
65
  id?: CcdaId[];
65
66
  code: CcdaCode;
66
- statusCode: CcdaCode;
67
+ statusCode?: CcdaCode;
67
68
  effectiveTime?: CcdaEffectiveTime[];
69
+ priorityCode?: CcdaCode;
68
70
  entryRelationship?: CcdaEntryRelationship[];
69
71
  author?: CcdaAuthor[];
70
72
  text?: CcdaText;
@@ -88,7 +90,7 @@ export declare interface CcdaAssignedAuthor {
88
90
  addr: CcdaAddr[];
89
91
  telecom: CcdaTelecom[];
90
92
  assignedAuthoringDevice?: CcdaAssignedAuthoringDevice;
91
- representedOrganization?: CcdaRepresentedOrganization;
93
+ representedOrganization?: CcdaOrganization;
92
94
  }
93
95
 
94
96
  export declare interface CcdaAssignedAuthoringDevice {
@@ -98,7 +100,7 @@ export declare interface CcdaAssignedAuthoringDevice {
98
100
  }
99
101
 
100
102
  export declare interface CcdaAssignedCustodian {
101
- representedCustodianOrganization: CcdaRepresentedCustodianOrganization;
103
+ representedCustodianOrganization: CcdaOrganization;
102
104
  }
103
105
 
104
106
  export declare interface CcdaAssignedEntity {
@@ -106,7 +108,7 @@ export declare interface CcdaAssignedEntity {
106
108
  addr: CcdaAddr[];
107
109
  telecom: CcdaTelecom[];
108
110
  assignedPerson?: CcdaAssignedPerson;
109
- representedOrganization?: CcdaRepresentedOrganization;
111
+ representedOrganization?: CcdaOrganization;
110
112
  }
111
113
 
112
114
  export declare interface CcdaAssignedPerson {
@@ -197,10 +199,22 @@ export declare interface CcdaId {
197
199
  '@_assigningAuthorityName'?: string;
198
200
  }
199
201
 
202
+ export declare interface CcdaInformationRecipient {
203
+ intendedRecipient: CcdaIntendedRecipient;
204
+ }
205
+
206
+ export declare interface CcdaInformationRecipientEntry {
207
+ name?: CcdaName[];
208
+ }
209
+
200
210
  export declare interface CcdaInnerComponent {
201
211
  section: CcdaSection[];
202
212
  }
203
213
 
214
+ export declare interface CcdaIntendedRecipient {
215
+ informationRecipient: CcdaInformationRecipientEntry;
216
+ }
217
+
204
218
  export declare interface CcdaLanguageCommunication {
205
219
  languageCode?: CcdaCode;
206
220
  }
@@ -222,16 +236,10 @@ export declare interface CcdaManufacturedProduct {
222
236
  '@_classCode'?: string;
223
237
  templateId?: CcdaTemplateId[];
224
238
  manufacturedMaterial?: CcdaManufacturedMaterial[];
225
- manufacturerOrganization?: CcdaManufacturerOrganization[];
239
+ manufacturerOrganization?: CcdaOrganization[];
226
240
  manufacturedLabeledDrug?: CcdaManufacturedLabeledDrug[];
227
241
  }
228
242
 
229
- export declare interface CcdaManufacturerOrganization {
230
- '@_classCode'?: string;
231
- id?: CcdaId[];
232
- name: string[];
233
- }
234
-
235
243
  export declare interface CcdaName {
236
244
  '@_use'?: 'ANON' | 'C' | 'L' | 'P' | 'TEMP';
237
245
  family?: string;
@@ -264,6 +272,14 @@ export declare interface CcdaObservationRange {
264
272
  value?: CcdaValue;
265
273
  }
266
274
 
275
+ export declare interface CcdaOrganization {
276
+ '@_classCode'?: string;
277
+ id?: CcdaId[];
278
+ name?: string[];
279
+ telecom?: CcdaTelecom[];
280
+ addr?: CcdaAddr[];
281
+ }
282
+
267
283
  export declare interface CcdaOrganizer {
268
284
  '@_classCode': 'CLUSTER';
269
285
  '@_moodCode': 'EVN';
@@ -384,20 +400,6 @@ export declare interface CcdaReferenceRange {
384
400
  observationRange: CcdaObservationRange;
385
401
  }
386
402
 
387
- export declare interface CcdaRepresentedCustodianOrganization {
388
- id?: CcdaId[];
389
- name?: string[];
390
- telecom?: CcdaTelecom[];
391
- addr?: CcdaAddr[];
392
- }
393
-
394
- export declare interface CcdaRepresentedOrganization {
395
- id?: CcdaId[];
396
- name?: string[];
397
- telecom?: CcdaTelecom[];
398
- addr?: CcdaAddr[];
399
- }
400
-
401
403
  export declare interface CcdaScopingEntity {
402
404
  '@_classCode'?: string;
403
405
  '@_typeCode'?: string;
@@ -501,9 +503,10 @@ export declare function convertCcdaToXml(ccda: Ccda): string;
501
503
  /**
502
504
  * Convert a FHIR bundle to a C-CDA document.
503
505
  * @param bundle - The FHIR bundle to convert.
506
+ * @param options - Optional options.
504
507
  * @returns The C-CDA document.
505
508
  */
506
- export declare function convertFhirToCcda(bundle: Bundle): Ccda;
509
+ export declare function convertFhirToCcda(bundle: Bundle, options?: FhirToCcdaOptions): Ccda;
507
510
 
508
511
  export declare function convertToCompactXml(obj: any): string;
509
512
 
@@ -545,6 +548,13 @@ export declare class EnumMapper<TFhirValue extends string, TCcdaValue extends st
545
548
 
546
549
  export declare const FHIR_CVX_URL = "http://hl7.org/fhir/sid/cvx";
547
550
 
551
+ export declare interface FhirToCcdaOptions {
552
+ /**
553
+ * Type of C-CDA document to generate.
554
+ */
555
+ type?: 'referral' | 'discharge' | 'summary';
556
+ }
557
+
548
558
  export declare const GENDER_MAPPER: EnumMapper<"unknown" | "female" | "male" | "other", "M" | "F" | "UN">;
549
559
 
550
560
  export declare const GOALS_SECTION_TEMPLATE_IDS: CcdaTemplateId[];
@@ -624,6 +634,8 @@ export declare const LOINC_PROCEDURES_SECTION = "47519-4";
624
634
 
625
635
  export declare const LOINC_REASON_FOR_REFERRAL_SECTION = "42349-1";
626
636
 
637
+ export declare const LOINC_REFERRAL_NOTE = "57133-1";
638
+
627
639
  export declare const LOINC_RESULTS_SECTION = "30954-2";
628
640
 
629
641
  export declare const LOINC_SOCIAL_HISTORY_SECTION = "29762-2";
@@ -739,6 +751,14 @@ export declare const RACE_CODE_SYSTEM = "http://terminology.hl7.org/CodeSystem/v
739
751
 
740
752
  export declare const REASON_FOR_REFERRAL_SECTION_TEMPLATE_IDS: CcdaTemplateId[];
741
753
 
754
+ export declare const REFERRAL_TEMPLATE_IDS: ({
755
+ '@_root': string;
756
+ '@_extension': string;
757
+ } | {
758
+ '@_root': string;
759
+ '@_extension'?: undefined;
760
+ })[];
761
+
742
762
  export declare const RESULTS_SECTION_TEMPLATE_IDS: CcdaTemplateId[];
743
763
 
744
764
  export declare const SOCIAL_HISTORY_SECTION_TEMPLATE_IDS: CcdaTemplateId[];