@smile-cdr/fhirts 1.4.8 → 1.4.9

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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.4.9
4
+
5
+ ### Updates (R3)
6
+
7
+ * Made a generic `Resource` type which is a union of all other resources to allow type narrowing when working with Bundles and Contained Resources. For example:
8
+ ```
9
+ const res = bundle.entry[0].resource
10
+ // res -> fhirR3.Resource
11
+ if(res.resourceType === 'Organization'){
12
+ // TypeScript will infer the type of Organization automatically
13
+ // res -> fhirR3.Organization
14
+ ```
15
+
3
16
  ## 1.4.8
4
17
 
5
18
  ### Updates (R4)
package/dist/FHIR-R3.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare class DomainResource {
11
11
  extension: Extension[];
12
12
  modifierExtension: Extension[];
13
13
  }
14
- export declare class Resource extends DomainResource {
14
+ export declare class BaseResource extends DomainResource {
15
15
  resourceType: string;
16
16
  id: string;
17
17
  meta: Meta;
@@ -493,7 +493,8 @@ export declare class Udi extends BackboneElement {
493
493
  issuer: string;
494
494
  entryType: string;
495
495
  }
496
- export declare class QuestionnaireResponse extends Resource {
496
+ export declare class QuestionnaireResponse extends BaseResource {
497
+ resourceType: "QuestionnaireResponse";
497
498
  identifier: Identifier;
498
499
  basedOn: Reference[];
499
500
  parent: Reference[];
@@ -506,7 +507,8 @@ export declare class QuestionnaireResponse extends Resource {
506
507
  item: QuestionnaireResponseItem[];
507
508
  subject: Reference;
508
509
  }
509
- export declare class Questionnaire extends Resource {
510
+ export declare class Questionnaire extends BaseResource {
511
+ resourceType: "Questionnaire";
510
512
  url: string;
511
513
  identifier: Identifier[];
512
514
  version: string;
@@ -529,7 +531,8 @@ export declare class Questionnaire extends Resource {
529
531
  subjectType: Code[];
530
532
  item: Item[];
531
533
  }
532
- export declare class Patient extends Resource {
534
+ export declare class Patient extends BaseResource {
535
+ resourceType: "Patient";
533
536
  identifier: Identifier[];
534
537
  active: boolean;
535
538
  name: HumanName[];
@@ -544,7 +547,8 @@ export declare class Patient extends Resource {
544
547
  managingOrganization: Reference;
545
548
  link: Link[];
546
549
  }
547
- export declare class DocumentReference extends Resource {
550
+ export declare class DocumentReference extends BaseResource {
551
+ resourceType: "DocumentReference";
548
552
  masterIdentifier: Identifier;
549
553
  identifier: Identifier[];
550
554
  status: string;
@@ -558,7 +562,8 @@ export declare class DocumentReference extends Resource {
558
562
  indexed: Date;
559
563
  context: Context;
560
564
  }
561
- export declare class Appointment extends Resource {
565
+ export declare class Appointment extends BaseResource {
566
+ resourceType: "Appointment";
562
567
  identifier: Identifier[];
563
568
  status: string;
564
569
  serviceCategory: CodeableConcept;
@@ -579,7 +584,8 @@ export declare class Appointment extends Resource {
579
584
  participant: Participant[];
580
585
  requestPeriod: Period[];
581
586
  }
582
- export declare class AppointmentResponse extends Resource {
587
+ export declare class AppointmentResponse extends BaseResource {
588
+ resourceType: "AppointmentResponse";
583
589
  identifier: Identifier[];
584
590
  appointment: Reference;
585
591
  start: Date;
@@ -589,7 +595,8 @@ export declare class AppointmentResponse extends Resource {
589
595
  participantStatus: string;
590
596
  comment: string;
591
597
  }
592
- export declare class Organization extends Resource {
598
+ export declare class Organization extends BaseResource {
599
+ resourceType: "Organization";
593
600
  identifier: Identifier[];
594
601
  active: boolean;
595
602
  status: string;
@@ -603,7 +610,8 @@ export declare class Organization extends Resource {
603
610
  contact: Contact[];
604
611
  endpoint: Reference[];
605
612
  }
606
- export declare class Location extends Resource {
613
+ export declare class Location extends BaseResource {
614
+ resourceType: "Location";
607
615
  identifier: Identifier[];
608
616
  status: string;
609
617
  operationalStatus: Coding;
@@ -620,7 +628,8 @@ export declare class Location extends Resource {
620
628
  endpoint: Reference[];
621
629
  extension: Extension[];
622
630
  }
623
- export declare class Account extends Resource {
631
+ export declare class Account extends BaseResource {
632
+ resourceType: "Account";
624
633
  identifier: Identifier[];
625
634
  status: Code;
626
635
  type: CodeableConcept;
@@ -639,14 +648,16 @@ export declare class Account extends Resource {
639
648
  partOf: Reference;
640
649
  endpoint: Reference[];
641
650
  }
642
- export declare class ProcessRequest extends Resource {
651
+ export declare class ProcessRequest extends BaseResource {
652
+ resourceType: "ProcessRequest";
643
653
  identifier: Identifier[];
644
654
  status: string;
645
655
  created: Date;
646
656
  provider: Reference;
647
657
  request: Reference;
648
658
  }
649
- export declare class Encounter extends Resource {
659
+ export declare class Encounter extends BaseResource {
660
+ resourceType: "Encounter";
650
661
  identifier: Identifier[];
651
662
  status: string;
652
663
  episodeOfCare: Reference[];
@@ -659,7 +670,8 @@ export declare class CareTeamParticipant extends BackboneElement {
659
670
  onBehalfOf: Reference;
660
671
  period: Period;
661
672
  }
662
- export declare class CareTeam extends Resource {
673
+ export declare class CareTeam extends BaseResource {
674
+ resourceType: "CareTeam";
663
675
  identifier: Identifier[];
664
676
  status: string;
665
677
  category: CodeableConcept[];
@@ -669,7 +681,8 @@ export declare class CareTeam extends Resource {
669
681
  participant: CareTeamParticipant[];
670
682
  note: Annotation[];
671
683
  }
672
- export declare class EpisodeOfCare extends Resource {
684
+ export declare class EpisodeOfCare extends BaseResource {
685
+ resourceType: "EpisodeOfCare";
673
686
  identifier: Identifier[];
674
687
  status: string;
675
688
  statusHistory: BackboneElement[];
@@ -683,7 +696,8 @@ export declare class EpisodeOfCare extends Resource {
683
696
  team: Reference[];
684
697
  account: Reference[];
685
698
  }
686
- export declare class CarePlan extends Resource {
699
+ export declare class CarePlan extends BaseResource {
700
+ resourceType: "CarePlan";
687
701
  identifier: Identifier[];
688
702
  definition: Reference[];
689
703
  basedOn: Reference[];
@@ -705,7 +719,8 @@ export declare class CarePlan extends Resource {
705
719
  activity: Activity[];
706
720
  note: Annotation[];
707
721
  }
708
- export declare class Communication extends Resource {
722
+ export declare class Communication extends BaseResource {
723
+ resourceType: "Communication";
709
724
  identifier: Identifier[];
710
725
  definition: Reference[];
711
726
  basedOn: Reference[];
@@ -727,7 +742,8 @@ export declare class Communication extends Resource {
727
742
  payload: Payload[];
728
743
  note: Annotation[];
729
744
  }
730
- export declare class Task extends Resource {
745
+ export declare class Task extends BaseResource {
746
+ resourceType: "Task";
731
747
  identifier: Identifier[];
732
748
  definitionUri: string;
733
749
  definitionReference: Reference;
@@ -758,7 +774,8 @@ export declare class Task extends Resource {
758
774
  input: Input[];
759
775
  output: Output[];
760
776
  }
761
- export declare class ProcedureRequest extends Resource {
777
+ export declare class ProcedureRequest extends BaseResource {
778
+ resourceType: "ProcedureRequest";
762
779
  identifier: Identifier[];
763
780
  status: string;
764
781
  intent: string;
@@ -772,7 +789,8 @@ export declare class ProcedureRequest extends Resource {
772
789
  performerType: CodeableConcept;
773
790
  note: Annotation[];
774
791
  }
775
- export declare class PractitionerRole extends Resource {
792
+ export declare class PractitionerRole extends BaseResource {
793
+ resourceType: "PractitionerRole";
776
794
  identifier: Identifier[];
777
795
  active: boolean;
778
796
  period: Period;
@@ -788,7 +806,8 @@ export declare class PractitionerRole extends Resource {
788
806
  availabilityExceptions: string;
789
807
  endpoint: Reference[];
790
808
  }
791
- export declare class Practitioner extends Resource {
809
+ export declare class Practitioner extends BaseResource {
810
+ resourceType: "Practitioner";
792
811
  identifier: Identifier[];
793
812
  active: boolean;
794
813
  name: HumanName[];
@@ -800,7 +819,8 @@ export declare class Practitioner extends Resource {
800
819
  qualification: Qualification[];
801
820
  communication: CodeableConcept[];
802
821
  }
803
- export declare class Device extends Resource {
822
+ export declare class Device extends BaseResource {
823
+ resourceType: "Device";
804
824
  identifier: Identifier[];
805
825
  udi: Udi;
806
826
  status: string;
@@ -819,7 +839,8 @@ export declare class Device extends Resource {
819
839
  note: Annotation[];
820
840
  safety: CodeableConcept[];
821
841
  }
822
- export declare class Observation extends Resource {
842
+ export declare class Observation extends BaseResource {
843
+ resourceType: "Observation";
823
844
  identifier: Identifier[];
824
845
  basedOn: Reference[];
825
846
  status: string;
@@ -853,7 +874,8 @@ export declare class Observation extends Resource {
853
874
  related: Related[];
854
875
  component: Component[];
855
876
  }
856
- export declare class Immunization extends Resource {
877
+ export declare class Immunization extends BaseResource {
878
+ resourceType: "Immunization";
857
879
  identifier: Identifier[];
858
880
  status: string;
859
881
  notGiven: boolean;
@@ -875,7 +897,8 @@ export declare class Immunization extends Resource {
875
897
  reaction: ImmunizationReaction[];
876
898
  vaccinationProtocol: VaccinationProtocol[];
877
899
  }
878
- export declare class CommunicationRequest extends Resource {
900
+ export declare class CommunicationRequest extends BaseResource {
901
+ resourceType: "CommunicationRequest";
879
902
  identifier: Identifier[];
880
903
  basedOn: Reference[];
881
904
  replaces: Reference[];
@@ -898,7 +921,8 @@ export declare class CommunicationRequest extends Resource {
898
921
  reasonReference: Reference[];
899
922
  note: Annotation[];
900
923
  }
901
- export declare class AuditEvent extends Resource {
924
+ export declare class AuditEvent extends BaseResource {
925
+ resourceType: "AuditEvent";
902
926
  type: Coding;
903
927
  subtype: Coding[];
904
928
  action: string;
@@ -913,7 +937,8 @@ export declare class AuditEvent extends Resource {
913
937
  source: Source;
914
938
  entity: Entity[];
915
939
  }
916
- export declare class Bundle extends Resource {
940
+ export declare class Bundle extends BaseResource {
941
+ resourceType: "Bundle";
917
942
  identifier: Identifier;
918
943
  type: string;
919
944
  timestamp: string;
@@ -922,7 +947,8 @@ export declare class Bundle extends Resource {
922
947
  entry: BundleEntry[];
923
948
  signature: BundleSignature;
924
949
  }
925
- export declare class HealthcareService extends Resource {
950
+ export declare class HealthcareService extends BaseResource {
951
+ resourceType: "HealthcareService";
926
952
  identifier: Identifier[];
927
953
  active: string;
928
954
  providedBy: Reference;
@@ -948,7 +974,8 @@ export declare class HealthcareService extends Resource {
948
974
  availibilityExceptions: string;
949
975
  endpoint: Reference[];
950
976
  }
951
- export declare class Schedule extends Resource {
977
+ export declare class Schedule extends BaseResource {
978
+ resourceType: "Schedule";
952
979
  identifier: Identifier[];
953
980
  active: boolean;
954
981
  serviceCategory: CodeableConcept;
@@ -958,7 +985,8 @@ export declare class Schedule extends Resource {
958
985
  planningHorizon: Period;
959
986
  comment: string;
960
987
  }
961
- export declare class Slot extends Resource {
988
+ export declare class Slot extends BaseResource {
989
+ resourceType: "Slot";
962
990
  identifier: Identifier[];
963
991
  serviceCategory: CodeableConcept;
964
992
  serviceType: CodeableConcept[];
@@ -971,7 +999,8 @@ export declare class Slot extends Resource {
971
999
  overbooked: boolean;
972
1000
  comment: string;
973
1001
  }
974
- export declare class ClinicalImpression extends Resource {
1002
+ export declare class ClinicalImpression extends BaseResource {
1003
+ resourceType: "ClinicalImpression";
975
1004
  identifier: Identifier[];
976
1005
  status: string;
977
1006
  code: CodeableConcept;
@@ -1002,7 +1031,8 @@ export declare class ClinicalImpressionFinding extends BackboneElement {
1002
1031
  itemCodeableConcept: CodeableConcept;
1003
1032
  itemReference: Reference;
1004
1033
  }
1005
- export declare class AllergyIntolerance extends Resource {
1034
+ export declare class AllergyIntolerance extends BaseResource {
1035
+ resourceType: "AllergyIntolerance";
1006
1036
  identifier: Identifier[];
1007
1037
  clinicalStatus: Code;
1008
1038
  verificationStatus: Code;
@@ -1039,4 +1069,5 @@ export declare class Age extends FHIRElement {
1039
1069
  system: string;
1040
1070
  code: Code;
1041
1071
  }
1072
+ export declare type Resource = AllergyIntolerance | ClinicalImpression | Schedule | HealthcareService | Bundle | AuditEvent | CommunicationRequest | Immunization | Observation | Device | Practitioner | PractitionerRole | ProcedureRequest | Task | Communication | CarePlan | EpisodeOfCare | CareTeam | Encounter | ProcessRequest | Account | Location | Organization | AppointmentResponse | Appointment | QuestionnaireResponse | Questionnaire | Slot | Patient | DocumentReference;
1042
1073
  export {};
package/dist/FHIR-R3.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Restriction = exports.SampledData = exports.Output = exports.Input = exports.Range = exports.Ratio = exports.Component = exports.Timing = exports.Activity = exports.EncounterParticipant = exports.Participant = exports.ReferenceRange = exports.Context = exports.ContextRelated = exports.Annotation = exports.FHIROption = exports.Answer = exports.EnableWhen = exports.Network = exports.Payload = exports.Identifier = exports.Reference = exports.ContactDetail = exports.ContactPoint = exports.Contact = exports.PatientCommunication = exports.Link = exports.Content = exports.Qualification = exports.Attachment = exports.VaccinationProtocol = exports.ImmunizationReaction = exports.ImmunizationExplaination = exports.PractitionerForImmunization = exports.UsageContext = exports.Quantity = exports.Period = exports.CodeableConcept = exports.Meta = exports.Address = exports.Extension = exports.HumanName = exports.DoseCoding = exports.Coding = exports.Code = exports.Narrative = exports.Resource = exports.DomainResource = exports.BackboneElement = exports.FHIRElement = void 0;
3
+ exports.Restriction = exports.SampledData = exports.Output = exports.Input = exports.Range = exports.Ratio = exports.Component = exports.Timing = exports.Activity = exports.EncounterParticipant = exports.Participant = exports.ReferenceRange = exports.Context = exports.ContextRelated = exports.Annotation = exports.FHIROption = exports.Answer = exports.EnableWhen = exports.Network = exports.Payload = exports.Identifier = exports.Reference = exports.ContactDetail = exports.ContactPoint = exports.Contact = exports.PatientCommunication = exports.Link = exports.Content = exports.Qualification = exports.Attachment = exports.VaccinationProtocol = exports.ImmunizationReaction = exports.ImmunizationExplaination = exports.PractitionerForImmunization = exports.UsageContext = exports.Quantity = exports.Period = exports.CodeableConcept = exports.Meta = exports.Address = exports.Extension = exports.HumanName = exports.DoseCoding = exports.Coding = exports.Code = exports.Narrative = exports.BaseResource = exports.DomainResource = exports.BackboneElement = exports.FHIRElement = void 0;
4
4
  exports.ClinicalImpressionFinding = exports.ClinicalImpressionInvestigation = exports.ClinicalImpression = exports.Slot = exports.Schedule = exports.HealthcareService = exports.Bundle = exports.AuditEvent = exports.CommunicationRequest = exports.Immunization = exports.Observation = exports.Device = exports.Practitioner = exports.PractitionerRole = exports.ProcedureRequest = exports.Task = exports.Communication = exports.CarePlan = exports.EpisodeOfCare = exports.CareTeam = exports.CareTeamParticipant = exports.Encounter = exports.ProcessRequest = exports.Account = exports.Location = exports.Organization = exports.AppointmentResponse = exports.Appointment = exports.DocumentReference = exports.Patient = exports.Questionnaire = exports.QuestionnaireResponse = exports.Udi = exports.Entity = exports.EntityDetail = exports.Source = exports.Agent = exports.Item = exports.QuestionnaireResponseItem = exports.Requester = exports.Position = exports.ActivityDetail = exports.BundleEntry = exports.BundleResponse = exports.BundleRequest = exports.Search = exports.BundleSignature = exports.BundleLink = exports.NotAvailable = exports.AvailableTime = void 0;
5
5
  exports.Age = exports.AllergyIntoleranceReaction = exports.AllergyIntolerance = void 0;
6
6
  /* This is base class from which other elements are derived */
@@ -14,9 +14,9 @@ exports.BackboneElement = BackboneElement;
14
14
  class DomainResource {
15
15
  }
16
16
  exports.DomainResource = DomainResource;
17
- class Resource extends DomainResource {
17
+ class BaseResource extends DomainResource {
18
18
  }
19
- exports.Resource = Resource;
19
+ exports.BaseResource = BaseResource;
20
20
  class Narrative {
21
21
  }
22
22
  exports.Narrative = Narrative;
@@ -284,94 +284,94 @@ exports.Entity = Entity;
284
284
  class Udi extends BackboneElement {
285
285
  }
286
286
  exports.Udi = Udi;
287
- class QuestionnaireResponse extends Resource {
287
+ class QuestionnaireResponse extends BaseResource {
288
288
  }
289
289
  exports.QuestionnaireResponse = QuestionnaireResponse;
290
- class Questionnaire extends Resource {
290
+ class Questionnaire extends BaseResource {
291
291
  }
292
292
  exports.Questionnaire = Questionnaire;
293
- class Patient extends Resource {
293
+ class Patient extends BaseResource {
294
294
  }
295
295
  exports.Patient = Patient;
296
- class DocumentReference extends Resource {
296
+ class DocumentReference extends BaseResource {
297
297
  }
298
298
  exports.DocumentReference = DocumentReference;
299
- class Appointment extends Resource {
299
+ class Appointment extends BaseResource {
300
300
  }
301
301
  exports.Appointment = Appointment;
302
- class AppointmentResponse extends Resource {
302
+ class AppointmentResponse extends BaseResource {
303
303
  }
304
304
  exports.AppointmentResponse = AppointmentResponse;
305
- class Organization extends Resource {
305
+ class Organization extends BaseResource {
306
306
  }
307
307
  exports.Organization = Organization;
308
- class Location extends Resource {
308
+ class Location extends BaseResource {
309
309
  }
310
310
  exports.Location = Location;
311
- class Account extends Resource {
311
+ class Account extends BaseResource {
312
312
  }
313
313
  exports.Account = Account;
314
- class ProcessRequest extends Resource {
314
+ class ProcessRequest extends BaseResource {
315
315
  }
316
316
  exports.ProcessRequest = ProcessRequest;
317
- class Encounter extends Resource {
317
+ class Encounter extends BaseResource {
318
318
  }
319
319
  exports.Encounter = Encounter;
320
320
  class CareTeamParticipant extends BackboneElement {
321
321
  }
322
322
  exports.CareTeamParticipant = CareTeamParticipant;
323
- class CareTeam extends Resource {
323
+ class CareTeam extends BaseResource {
324
324
  }
325
325
  exports.CareTeam = CareTeam;
326
- class EpisodeOfCare extends Resource {
326
+ class EpisodeOfCare extends BaseResource {
327
327
  }
328
328
  exports.EpisodeOfCare = EpisodeOfCare;
329
- class CarePlan extends Resource {
329
+ class CarePlan extends BaseResource {
330
330
  }
331
331
  exports.CarePlan = CarePlan;
332
- class Communication extends Resource {
332
+ class Communication extends BaseResource {
333
333
  }
334
334
  exports.Communication = Communication;
335
- class Task extends Resource {
335
+ class Task extends BaseResource {
336
336
  }
337
337
  exports.Task = Task;
338
- class ProcedureRequest extends Resource {
338
+ class ProcedureRequest extends BaseResource {
339
339
  }
340
340
  exports.ProcedureRequest = ProcedureRequest;
341
- class PractitionerRole extends Resource {
341
+ class PractitionerRole extends BaseResource {
342
342
  }
343
343
  exports.PractitionerRole = PractitionerRole;
344
- class Practitioner extends Resource {
344
+ class Practitioner extends BaseResource {
345
345
  }
346
346
  exports.Practitioner = Practitioner;
347
- class Device extends Resource {
347
+ class Device extends BaseResource {
348
348
  }
349
349
  exports.Device = Device;
350
- class Observation extends Resource {
350
+ class Observation extends BaseResource {
351
351
  }
352
352
  exports.Observation = Observation;
353
- class Immunization extends Resource {
353
+ class Immunization extends BaseResource {
354
354
  }
355
355
  exports.Immunization = Immunization;
356
- class CommunicationRequest extends Resource {
356
+ class CommunicationRequest extends BaseResource {
357
357
  }
358
358
  exports.CommunicationRequest = CommunicationRequest;
359
- class AuditEvent extends Resource {
359
+ class AuditEvent extends BaseResource {
360
360
  }
361
361
  exports.AuditEvent = AuditEvent;
362
- class Bundle extends Resource {
362
+ class Bundle extends BaseResource {
363
363
  }
364
364
  exports.Bundle = Bundle;
365
- class HealthcareService extends Resource {
365
+ class HealthcareService extends BaseResource {
366
366
  }
367
367
  exports.HealthcareService = HealthcareService;
368
- class Schedule extends Resource {
368
+ class Schedule extends BaseResource {
369
369
  }
370
370
  exports.Schedule = Schedule;
371
- class Slot extends Resource {
371
+ class Slot extends BaseResource {
372
372
  }
373
373
  exports.Slot = Slot;
374
- class ClinicalImpression extends Resource {
374
+ class ClinicalImpression extends BaseResource {
375
375
  }
376
376
  exports.ClinicalImpression = ClinicalImpression;
377
377
  class ClinicalImpressionInvestigation extends BackboneElement {
@@ -380,7 +380,7 @@ exports.ClinicalImpressionInvestigation = ClinicalImpressionInvestigation;
380
380
  class ClinicalImpressionFinding extends BackboneElement {
381
381
  }
382
382
  exports.ClinicalImpressionFinding = ClinicalImpressionFinding;
383
- class AllergyIntolerance extends Resource {
383
+ class AllergyIntolerance extends BaseResource {
384
384
  }
385
385
  exports.AllergyIntolerance = AllergyIntolerance;
386
386
  class AllergyIntoleranceReaction extends BackboneElement {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smile-cdr/fhirts",
3
- "version": "1.4.8",
3
+ "version": "1.4.9",
4
4
  "description": "Fhir ts/js library for frontend apps",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.js",
package/src/FHIR-R3.ts CHANGED
@@ -16,7 +16,7 @@ export class DomainResource {
16
16
  modifierExtension: Extension[];
17
17
  }
18
18
 
19
- export class Resource extends DomainResource {
19
+ export class BaseResource extends DomainResource {
20
20
  resourceType: string;
21
21
  id: string;
22
22
  meta: Meta;
@@ -633,7 +633,8 @@ export class Udi extends BackboneElement {
633
633
  entryType: string;
634
634
  }
635
635
 
636
- export class QuestionnaireResponse extends Resource {
636
+ export class QuestionnaireResponse extends BaseResource {
637
+ resourceType: "QuestionnaireResponse";
637
638
  identifier: Identifier;
638
639
  basedOn: Reference[];
639
640
  parent: Reference[];
@@ -647,7 +648,8 @@ export class QuestionnaireResponse extends Resource {
647
648
  subject: Reference;
648
649
  }
649
650
 
650
- export class Questionnaire extends Resource {
651
+ export class Questionnaire extends BaseResource {
652
+ resourceType: "Questionnaire";
651
653
  url: string;
652
654
  identifier: Identifier[];
653
655
  version: string;
@@ -673,7 +675,8 @@ export class Questionnaire extends Resource {
673
675
  }
674
676
 
675
677
 
676
- export class Patient extends Resource {
678
+ export class Patient extends BaseResource {
679
+ resourceType: "Patient";
677
680
  identifier: Identifier[];
678
681
  active: boolean;
679
682
  name: HumanName[];
@@ -689,7 +692,8 @@ export class Patient extends Resource {
689
692
  link: Link[];
690
693
  }
691
694
 
692
- export class DocumentReference extends Resource {
695
+ export class DocumentReference extends BaseResource {
696
+ resourceType: "DocumentReference";
693
697
  masterIdentifier: Identifier;
694
698
  identifier: Identifier[];
695
699
  status: string;
@@ -704,7 +708,8 @@ export class DocumentReference extends Resource {
704
708
  context: Context;
705
709
  }
706
710
 
707
- export class Appointment extends Resource {
711
+ export class Appointment extends BaseResource {
712
+ resourceType: "Appointment";
708
713
  identifier: Identifier[];
709
714
  status: string;
710
715
  serviceCategory: CodeableConcept;
@@ -726,7 +731,8 @@ export class Appointment extends Resource {
726
731
  requestPeriod: Period[];
727
732
  }
728
733
 
729
- export class AppointmentResponse extends Resource {
734
+ export class AppointmentResponse extends BaseResource {
735
+ resourceType: "AppointmentResponse";
730
736
  identifier: Identifier[];
731
737
  appointment: Reference;
732
738
  start: Date;
@@ -738,7 +744,8 @@ export class AppointmentResponse extends Resource {
738
744
  }
739
745
 
740
746
 
741
- export class Organization extends Resource {
747
+ export class Organization extends BaseResource {
748
+ resourceType: "Organization";
742
749
  identifier: Identifier[];
743
750
  active: boolean;
744
751
  status: string;
@@ -753,7 +760,8 @@ export class Organization extends Resource {
753
760
  endpoint: Reference[];
754
761
  }
755
762
 
756
- export class Location extends Resource {
763
+ export class Location extends BaseResource {
764
+ resourceType: "Location";
757
765
  identifier: Identifier[];
758
766
  status: string;
759
767
  operationalStatus: Coding;
@@ -771,7 +779,8 @@ export class Location extends Resource {
771
779
  extension: Extension[];
772
780
  }
773
781
 
774
- export class Account extends Resource {
782
+ export class Account extends BaseResource {
783
+ resourceType: "Account";
775
784
  identifier: Identifier[];
776
785
  status: Code;
777
786
  type: CodeableConcept;
@@ -792,7 +801,8 @@ export class Account extends Resource {
792
801
  endpoint: Reference[];
793
802
  }
794
803
 
795
- export class ProcessRequest extends Resource {
804
+ export class ProcessRequest extends BaseResource {
805
+ resourceType: "ProcessRequest";
796
806
  identifier: Identifier[];
797
807
  status: string;
798
808
  created: Date;
@@ -800,7 +810,8 @@ export class ProcessRequest extends Resource {
800
810
  request: Reference;
801
811
  }
802
812
 
803
- export class Encounter extends Resource {
813
+ export class Encounter extends BaseResource {
814
+ resourceType: "Encounter";
804
815
  identifier: Identifier[];
805
816
  status: string;
806
817
  episodeOfCare: Reference[];
@@ -815,7 +826,8 @@ export class CareTeamParticipant extends BackboneElement {
815
826
  period: Period;
816
827
  }
817
828
 
818
- export class CareTeam extends Resource {
829
+ export class CareTeam extends BaseResource {
830
+ resourceType: "CareTeam";
819
831
  identifier: Identifier[];
820
832
  status: string;
821
833
  category: CodeableConcept[];
@@ -826,7 +838,8 @@ export class CareTeam extends Resource {
826
838
  note: Annotation[];
827
839
  }
828
840
 
829
- export class EpisodeOfCare extends Resource {
841
+ export class EpisodeOfCare extends BaseResource {
842
+ resourceType: "EpisodeOfCare";
830
843
  identifier: Identifier[];
831
844
  status: string;
832
845
  statusHistory: BackboneElement[];
@@ -841,7 +854,8 @@ export class EpisodeOfCare extends Resource {
841
854
  account: Reference[];
842
855
  }
843
856
 
844
- export class CarePlan extends Resource {
857
+ export class CarePlan extends BaseResource {
858
+ resourceType: "CarePlan";
845
859
  identifier: Identifier[];
846
860
  definition: Reference[];
847
861
  basedOn: Reference[];
@@ -864,7 +878,8 @@ export class CarePlan extends Resource {
864
878
  note: Annotation[];
865
879
  }
866
880
 
867
- export class Communication extends Resource {
881
+ export class Communication extends BaseResource {
882
+ resourceType: "Communication";
868
883
  identifier: Identifier[];
869
884
  definition: Reference[];
870
885
  basedOn: Reference[];
@@ -887,7 +902,8 @@ export class Communication extends Resource {
887
902
  note: Annotation[];
888
903
  }
889
904
 
890
- export class Task extends Resource {
905
+ export class Task extends BaseResource {
906
+ resourceType: "Task";
891
907
  identifier: Identifier[];
892
908
  definitionUri: string;
893
909
  definitionReference: Reference;
@@ -919,7 +935,8 @@ export class Task extends Resource {
919
935
  output: Output[];
920
936
  }
921
937
 
922
- export class ProcedureRequest extends Resource {
938
+ export class ProcedureRequest extends BaseResource {
939
+ resourceType: "ProcedureRequest";
923
940
  identifier: Identifier[];
924
941
  status: string;
925
942
  intent: string;
@@ -935,7 +952,8 @@ export class ProcedureRequest extends Resource {
935
952
  }
936
953
 
937
954
 
938
- export class PractitionerRole extends Resource {
955
+ export class PractitionerRole extends BaseResource {
956
+ resourceType: "PractitionerRole";
939
957
  identifier: Identifier[];
940
958
  active: boolean;
941
959
  period: Period;
@@ -952,7 +970,8 @@ export class PractitionerRole extends Resource {
952
970
  endpoint: Reference[];
953
971
  }
954
972
 
955
- export class Practitioner extends Resource {
973
+ export class Practitioner extends BaseResource {
974
+ resourceType: "Practitioner";
956
975
  identifier: Identifier[];
957
976
  active: boolean;
958
977
  name: HumanName[];
@@ -965,7 +984,8 @@ export class Practitioner extends Resource {
965
984
  communication: CodeableConcept[];
966
985
  }
967
986
 
968
- export class Device extends Resource {
987
+ export class Device extends BaseResource {
988
+ resourceType: "Device";
969
989
  identifier: Identifier[];
970
990
  udi: Udi;
971
991
  status: string;
@@ -985,7 +1005,8 @@ export class Device extends Resource {
985
1005
  safety: CodeableConcept[];
986
1006
  }
987
1007
 
988
- export class Observation extends Resource {
1008
+ export class Observation extends BaseResource {
1009
+ resourceType: "Observation";
989
1010
  identifier: Identifier[];
990
1011
  basedOn: Reference[];
991
1012
  status: string;
@@ -1020,7 +1041,8 @@ export class Observation extends Resource {
1020
1041
  component: Component[];
1021
1042
  }
1022
1043
 
1023
- export class Immunization extends Resource {
1044
+ export class Immunization extends BaseResource {
1045
+ resourceType: "Immunization";
1024
1046
  identifier: Identifier[];
1025
1047
  status: string;
1026
1048
  notGiven: boolean;
@@ -1043,7 +1065,8 @@ export class Immunization extends Resource {
1043
1065
  vaccinationProtocol: VaccinationProtocol[];
1044
1066
  }
1045
1067
 
1046
- export class CommunicationRequest extends Resource {
1068
+ export class CommunicationRequest extends BaseResource {
1069
+ resourceType: "CommunicationRequest";
1047
1070
  identifier: Identifier[];
1048
1071
  basedOn: Reference[];
1049
1072
  replaces: Reference[];
@@ -1068,7 +1091,8 @@ export class CommunicationRequest extends Resource {
1068
1091
  }
1069
1092
 
1070
1093
 
1071
- export class AuditEvent extends Resource {
1094
+ export class AuditEvent extends BaseResource {
1095
+ resourceType: "AuditEvent";
1072
1096
  type: Coding;
1073
1097
  subtype: Coding[];
1074
1098
  action: string;
@@ -1084,7 +1108,8 @@ export class AuditEvent extends Resource {
1084
1108
  entity: Entity[];
1085
1109
  }
1086
1110
 
1087
- export class Bundle extends Resource {
1111
+ export class Bundle extends BaseResource {
1112
+ resourceType: "Bundle";
1088
1113
  identifier: Identifier;
1089
1114
  type: string;
1090
1115
  timestamp: string;
@@ -1094,7 +1119,8 @@ export class Bundle extends Resource {
1094
1119
  signature: BundleSignature;
1095
1120
  }
1096
1121
 
1097
- export class HealthcareService extends Resource {
1122
+ export class HealthcareService extends BaseResource {
1123
+ resourceType: "HealthcareService";
1098
1124
  identifier: Identifier[];
1099
1125
  active: string;
1100
1126
  providedBy: Reference;
@@ -1121,7 +1147,8 @@ export class HealthcareService extends Resource {
1121
1147
  endpoint: Reference[];
1122
1148
  }
1123
1149
 
1124
- export class Schedule extends Resource {
1150
+ export class Schedule extends BaseResource {
1151
+ resourceType: "Schedule";
1125
1152
  identifier: Identifier[];
1126
1153
  active: boolean;
1127
1154
  serviceCategory: CodeableConcept;
@@ -1132,7 +1159,8 @@ export class Schedule extends Resource {
1132
1159
  comment: string;
1133
1160
  }
1134
1161
 
1135
- export class Slot extends Resource {
1162
+ export class Slot extends BaseResource {
1163
+ resourceType: "Slot";
1136
1164
  identifier: Identifier[];
1137
1165
  serviceCategory: CodeableConcept;
1138
1166
  serviceType: CodeableConcept[];
@@ -1146,7 +1174,8 @@ export class Slot extends Resource {
1146
1174
  comment: string;
1147
1175
  }
1148
1176
 
1149
- export class ClinicalImpression extends Resource {
1177
+ export class ClinicalImpression extends BaseResource {
1178
+ resourceType: "ClinicalImpression";
1150
1179
  identifier: Identifier[];
1151
1180
  status: string;
1152
1181
  code: CodeableConcept;
@@ -1180,7 +1209,8 @@ export class ClinicalImpressionFinding extends BackboneElement {
1180
1209
  itemReference: Reference;
1181
1210
  }
1182
1211
 
1183
- export class AllergyIntolerance extends Resource {
1212
+ export class AllergyIntolerance extends BaseResource {
1213
+ resourceType: "AllergyIntolerance";
1184
1214
  identifier: Identifier[];
1185
1215
  clinicalStatus: Code;
1186
1216
  verificationStatus: Code;
@@ -1218,4 +1248,6 @@ export class Age extends FHIRElement {
1218
1248
  unit: string;
1219
1249
  system: string;
1220
1250
  code: Code;
1221
- }
1251
+ }
1252
+
1253
+ export type Resource = AllergyIntolerance | ClinicalImpression | Schedule | HealthcareService | Bundle | AuditEvent | CommunicationRequest | Immunization | Observation | Device | Practitioner | PractitionerRole | ProcedureRequest | Task | Communication | CarePlan | EpisodeOfCare | CareTeam | Encounter | ProcessRequest | Account | Location | Organization | AppointmentResponse | Appointment | QuestionnaireResponse | Questionnaire | Slot | Patient | DocumentReference;