### ----------------------------------------------------
### -- FHIR
### -- Licenses: Artistic-2.0
### -- Authors: Hugh Simpson
### -- File: lib/FHIR/DomainModel.rakumod
### ----------------------------------------------------
### -- Chunk 6 of 8
 has Extension @.extension;
  has Money $.unitPrice;
  has PositiveInt @.noteNumber;
  has ExplanationOfBenefit_Item_Adjudication @.adjudication;
  has CodeableConcept $.productOrService is required;
  has Extension @.modifierExtension;
}
class ExplanationOfBenefit_AddItem_Detail is FHIR is export {
  has Str $.id;
  has Money $.net;
  has Real $.factor;
  has CodeableConcept @.modifier;
  has Quantity $.quantity;
  has Extension @.extension;
  has Money $.unitPrice;
  has PositiveInt @.noteNumber;
  has ExplanationOfBenefit_Item_Adjudication @.adjudication;
  has CodeableConcept $.productOrService is required;
  has Extension @.modifierExtension;
  has ExplanationOfBenefit_AddItem_Detail_SubDetail @.subDetail;
}
class ExplanationOfBenefit_AddItem is FHIR is export {
  has Str $.id;
  has Money $.net;
  has Real $.factor;
  has CodeableConcept @.subSite;
  has Reference @.provider;
  has CodeableConcept @.modifier;
  has Quantity $.quantity;
  has CodeableConcept $.bodySite;
  has Extension @.extension;
  has Money $.unitPrice;
  has PositiveInt @.noteNumber;
  has CodeableConcept @.programCode;
  has ChoiceField $.serviced where Date|Period;
  has ChoiceField $.location where Address|CodeableConcept|Reference;
  has PositiveInt @.itemSequence;
  has ExplanationOfBenefit_Item_Adjudication @.adjudication;
  has PositiveInt @.detailSequence;
  has CodeableConcept $.productOrService is required;
  has Extension @.modifierExtension;
  has PositiveInt @.subDetailSequence;
  has ExplanationOfBenefit_AddItem_Detail @.detail;
}

class ExplanationOfBenefit_BenefitBalance_Financial is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type is required;
  has ChoiceField $.used where Money|UnsignedInt;
  has Extension @.extension;
  has ChoiceField $.allowed where Money|Str|UnsignedInt;
  has Extension @.modifierExtension;
}
class ExplanationOfBenefit_BenefitBalance is FHIR is export {
  has Str $.id;
  has Str $.name;
  has CodeableConcept $.unit;
  has CodeableConcept $.term;
  has CodeableConcept $.network;
  has CodeableConcept $.category is required;
  has Bool $.excluded;
  has Extension @.extension;
  has Str $.description;
  has Extension @.modifierExtension;
  has ExplanationOfBenefit_BenefitBalance_Financial @.financial;
}

class ExplanationOfBenefit is DomainResource is export {
  method resourceType(--> 'ExplanationOfBenefit') {}
  has FHIRCode $.use is required;
  has CodeableConcept $.type is required;
  has Attachment $.form;
  has Reference $.claim;
  has FHIRCode $.status is required;
  has CodeableConcept $.subType;
  has Reference $.patient is required;
  has DateTime $.created is required;
  has Reference $.enterer;
  has Reference $.insurer is required;
  has FHIRCode $.outcome is required;
  has Reference $.provider is required;
  has CodeableConcept $.priority;
  has Reference $.referral;
  has Reference $.facility;
  has CodeableConcept $.formCode;
  has Identifier @.identifier;
  has Str @.preAuthRef;
  has PositiveInt $.precedence;
  has Str $.disposition;
  has CodeableConcept $.fundsReserve;
  has Reference $.prescription;
  has ExplanationOfBenefit_Item_Adjudication @.adjudication;
  has Reference $.claimResponse;
  has Period $.benefitPeriod;
  has Period $.billablePeriod;
  has Period @.preAuthRefPeriod;
  has Reference $.originalPrescription;
  has CodeableConcept $.fundsReserveRequested;
  has ExplanationOfBenefit_Payee $.payee;
  has ExplanationOfBenefit_Total @.total;
  has ExplanationOfBenefit_Related @.related;
  has ExplanationOfBenefit_Payment $.payment;
  has ExplanationOfBenefit_CareTeam @.careTeam;
  has ExplanationOfBenefit_Accident $.accident;
  has ExplanationOfBenefit_Diagnosis @.diagnosis;
  has ExplanationOfBenefit_Procedure @.procedure;
  has ExplanationOfBenefit_Insurance @.insurance is required;
  has ExplanationOfBenefit_ProcessNote @.processNote;
  has ExplanationOfBenefit_SupportingInfo @.supportingInfo;
  has ExplanationOfBenefit_Item @.item;
  has ExplanationOfBenefit_AddItem @.addItem;
  has ExplanationOfBenefit_BenefitBalance @.benefitBalance;
}
class VisionPrescription_LensSpecification_Prism is FHIR is export {
  has Str $.id;
  has FHIRCode $.base is required;
  has Real $.amount is required;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class VisionPrescription_LensSpecification is FHIR is export {
  has Str $.id;
  has FHIRCode $.eye is required;
  has Real $.add;
  has Int $.axis;
  has Annotation @.note;
  has Real $.power;
  has Str $.color;
  has Str $.brand;
  has Real $.sphere;
  has CodeableConcept $.product is required;
  has Real $.cylinder;
  has Real $.diameter;
  has Quantity $.duration;
  has Extension @.extension;
  has Real $.backCurve;
  has Extension @.modifierExtension;
  has VisionPrescription_LensSpecification_Prism @.prism;
}

class VisionPrescription is DomainResource is export {
  method resourceType(--> 'VisionPrescription') {}
  has FHIRCode $.status is required;
  has DateTime $.created is required;
  has Reference $.patient is required;
  has Reference $.encounter;
  has Identifier @.identifier;
  has Reference $.prescriber is required;
  has DateTime $.dateWritten is required;
  has VisionPrescription_LensSpecification @.lensSpecification is required;
}

class EnrollmentRequest is DomainResource is export {
  method resourceType(--> 'EnrollmentRequest') {}
  has FHIRCode $.status;
  has DateTime $.created;
  has Reference $.insurer;
  has Reference $.provider;
  has Reference $.coverage;
  has Reference $.candidate;
  has Identifier @.identifier;
}
class Claim_Payee is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type is required;
  has Reference $.party;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Claim_Related is FHIR is export {
  has Str $.id;
  has Reference $.claim;
  has Extension @.extension;
  has Identifier $.reference;
  has CodeableConcept $.relationship;
  has Extension @.modifierExtension;
}

class Claim_CareTeam is FHIR is export {
  has Str $.id;
  has CodeableConcept $.role;
  has PositiveInt $.sequence is required;
  has Reference $.provider is required;
  has Extension @.extension;
  has Bool $.responsible;
  has CodeableConcept $.qualification;
  has Extension @.modifierExtension;
}

class Claim_Accident is FHIR is export {
  has Str $.id;
  has Date $.date is required;
  has CodeableConcept $.type;
  has Extension @.extension;
  has ChoiceField $.location where Address|Reference;
  has Extension @.modifierExtension;
}

class Claim_Diagnosis is FHIR is export {
  has Str $.id;
  has CodeableConcept @.type;
  has PositiveInt $.sequence is required;
  has Extension @.extension;
  has CodeableConcept $.onAdmission;
  has CodeableConcept $.packageCode;
  has ChoiceField $.diagnosis is required where CodeableConcept|Reference;
  has Extension @.modifierExtension;
}

class Claim_Procedure is FHIR is export {
  has Str $.id;
  has Reference @.udi;
  has CodeableConcept @.type;
  has DateTime $.date;
  has PositiveInt $.sequence is required;
  has Extension @.extension;
  has ChoiceField $.procedure is required where CodeableConcept|Reference;
  has Extension @.modifierExtension;
}

class Claim_Insurance is FHIR is export {
  has Str $.id;
  has Bool $.focal is required;
  has PositiveInt $.sequence is required;
  has Reference $.coverage is required;
  has Extension @.extension;
  has Identifier $.identifier;
  has Str @.preAuthRef;
  has Reference $.claimResponse;
  has Extension @.modifierExtension;
  has Str $.businessArrangement;
}

class Claim_SupportingInfo is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code;
  has CodeableConcept $.reason;
  has PositiveInt $.sequence is required;
  has CodeableConcept $.category is required;
  has ChoiceField $.value where Attachment|Bool|Quantity|Reference|Str;
  has Extension @.extension;
  has ChoiceField $.timing where Date|Period;
  has Extension @.modifierExtension;
}

class Claim_Item_Detail_SubDetail is FHIR is export {
  has Str $.id;
  has Money $.net;
  has Reference @.udi;
  has Real $.factor;
  has CodeableConcept $.revenue;
  has PositiveInt $.sequence is required;
  has CodeableConcept $.category;
  has CodeableConcept @.modifier;
  has Quantity $.quantity;
  has Extension @.extension;
  has Money $.unitPrice;
  has CodeableConcept @.programCode;
  has CodeableConcept $.productOrService is required;
  has Extension @.modifierExtension;
}
class Claim_Item_Detail is FHIR is export {
  has Str $.id;
  has Money $.net;
  has Reference @.udi;
  has Real $.factor;
  has CodeableConcept $.revenue;
  has PositiveInt $.sequence is required;
  has CodeableConcept $.category;
  has CodeableConcept @.modifier;
  has Quantity $.quantity;
  has Extension @.extension;
  has Money $.unitPrice;
  has CodeableConcept @.programCode;
  has CodeableConcept $.productOrService is required;
  has Extension @.modifierExtension;
  has Claim_Item_Detail_SubDetail @.subDetail;
}
class Claim_Item is FHIR is export {
  has Str $.id;
  has Money $.net;
  has Reference @.udi;
  has Real $.factor;
  has CodeableConcept $.revenue;
  has CodeableConcept @.subSite;
  has PositiveInt $.sequence is required;
  has CodeableConcept $.category;
  has CodeableConcept @.modifier;
  has Quantity $.quantity;
  has CodeableConcept $.bodySite;
  has Extension @.extension;
  has Money $.unitPrice;
  has Reference @.encounter;
  has CodeableConcept @.programCode;
  has ChoiceField $.serviced where Date|Period;
  has ChoiceField $.location where Address|CodeableConcept|Reference;
  has PositiveInt @.careTeamSequence;
  has CodeableConcept $.productOrService is required;
  has Extension @.modifierExtension;
  has PositiveInt @.diagnosisSequence;
  has PositiveInt @.procedureSequence;
  has PositiveInt @.informationSequence;
  has Claim_Item_Detail @.detail;
}

class Claim is DomainResource is export {
  method resourceType(--> 'Claim') {}
  has FHIRCode $.use is required;
  has CodeableConcept $.type is required;
  has Money $.total;
  has FHIRCode $.status is required;
  has CodeableConcept $.subType;
  has Reference $.patient is required;
  has DateTime $.created is required;
  has Reference $.enterer;
  has Reference $.insurer;
  has Reference $.provider is required;
  has CodeableConcept $.priority is required;
  has Reference $.referral;
  has Reference $.facility;
  has Identifier @.identifier;
  has CodeableConcept $.fundsReserve;
  has Reference $.prescription;
  has Period $.billablePeriod;
  has Reference $.originalPrescription;
  has Claim_Payee $.payee;
  has Claim_Related @.related;
  has Claim_CareTeam @.careTeam;
  has Claim_Accident $.accident;
  has Claim_Diagnosis @.diagnosis;
  has Claim_Procedure @.procedure;
  has Claim_Insurance @.insurance is required;
  has Claim_SupportingInfo @.supportingInfo;
  has Claim_Item @.item;
}
class ImmunizationRecommendation_Recommendation_DateCriterion is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code is required;
  has DateTime $.value is required;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class ImmunizationRecommendation_Recommendation is FHIR is export {
  has Str $.id;
  has Str $.series;
  has Extension @.extension;
  has CodeableConcept @.vaccineCode;
  has Str $.description;
  has CodeableConcept $.targetDisease;
  has ChoiceField $.doseNumber where PositiveInt|Str;
  has CodeableConcept $.forecastStatus is required;
  has CodeableConcept @.forecastReason;
  has ChoiceField $.seriesDoses where PositiveInt|Str;
  has Extension @.modifierExtension;
  has Reference @.supportingImmunization;
  has CodeableConcept @.contraindicatedVaccineCode;
  has Reference @.supportingPatientInformation;
  has ImmunizationRecommendation_Recommendation_DateCriterion @.dateCriterion;
}

class ImmunizationRecommendation is DomainResource is export {
  method resourceType(--> 'ImmunizationRecommendation') {}
  has DateTime $.date is required;
  has Reference $.patient is required;
  has Reference $.authority;
  has Identifier @.identifier;
  has ImmunizationRecommendation_Recommendation @.recommendation is required;
}

class SimpleQuantity is Quantity is export {
  
}

class BodyStructure is DomainResource is export {
  method resourceType(--> 'BodyStructure') {}
  has Attachment @.image;
  has Bool $.active;
  has Reference $.patient is required;
  has CodeableConcept $.location;
  has Identifier @.identifier;
  has CodeableConcept $.morphology;
  has Str $.description;
  has CodeableConcept @.locationQualifier;
}
class ImagingStudy_Series_Instance is FHIR is export {
  has Str $.id;
  has Id $.uid is required;
  has Str $.title;
  has UnsignedInt $.number;
  has Coding $.sopClass is required;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class ImagingStudy_Series_Performer is FHIR is export {
  has Str $.id;
  has Reference $.actor is required;
  has CodeableConcept $.function;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class ImagingStudy_Series is FHIR is export {
  has Str $.id;
  has Id $.uid is required;
  has UnsignedInt $.number;
  has DateTime $.started;
  has Coding $.modality is required;
  has Reference @.endpoint;
  has Coding $.bodySite;
  has Reference @.specimen;
  has Extension @.extension;
  has Coding $.laterality;
  has Str $.description;
  has Extension @.modifierExtension;
  has UnsignedInt $.numberOfInstances;
  has ImagingStudy_Series_Instance @.instance;
  has ImagingStudy_Series_Performer @.performer;
}

class ImagingStudy is DomainResource is export {
  method resourceType(--> 'ImagingStudy') {}
  has Annotation @.note;
  has FHIRCode $.status is required;
  has Reference $.subject is required;
  has DateTime $.started;
  has Reference @.basedOn;
  has Coding @.modality;
  has Reference $.referrer;
  has Reference @.endpoint;
  has Reference $.location;
  has Reference $.encounter;
  has Identifier @.identifier;
  has CodeableConcept @.reasonCode;
  has Reference @.interpreter;
  has Str $.description;
  has CodeableConcept @.procedureCode;
  has UnsignedInt $.numberOfSeries;
  has Reference @.reasonReference;
  has UnsignedInt $.numberOfInstances;
  has Reference $.procedureReference;
  has ImagingStudy_Series @.series;
}

class MedicinalProductUndesirableEffect is DomainResource is export {
  method resourceType(--> 'MedicinalProductUndesirableEffect') {}
  has Reference @.subject;
  has Any @.population;
  has CodeableConcept $.classification;
  has CodeableConcept $.frequencyOfOccurrence;
  has CodeableConcept $.symptomConditionEffect;
}
class HealthcareService_Eligibility is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code;
  has Markdown $.comment;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class HealthcareService_NotAvailable is FHIR is export {
  has Str $.id;
  has Period $.during;
  has Extension @.extension;
  has Str $.description is required;
  has Extension @.modifierExtension;
}

class HealthcareService_AvailableTime is FHIR is export {
  has Str $.id;
  has Bool $.allDay;
  has Extension @.extension;
  has FHIRCode @.daysOfWeek;
  has Instant $.availableEndTime;
  has Extension @.modifierExtension;
  has Instant $.availableStartTime;
}

class HealthcareService is DomainResource is export {
  method resourceType(--> 'HealthcareService') {}
  has CodeableConcept @.type;
  has Str $.name;
  has Attachment $.photo;
  has Bool $.active;
  has Str $.comment;
  has ContactPoint @.telecom;
  has CodeableConcept @.program;
  has CodeableConcept @.category;
  has Reference @.location;
  has Reference @.endpoint;
  has CodeableConcept @.specialty;
  has Identifier @.identifier;
  has Reference $.providedBy;
  has Markdown $.extraDetails;
  has Reference @.coverageArea;
  has CodeableConcept @.communication;
  has CodeableConcept @.characteristic;
  has CodeableConcept @.referralMethod;
  has Bool $.appointmentRequired;
  has CodeableConcept @.serviceProvisionCode;
  has Str $.availabilityExceptions;
  has HealthcareService_Eligibility @.eligibility;
  has HealthcareService_NotAvailable @.notAvailable;
  has HealthcareService_AvailableTime @.availableTime;
}
class List_Entry is FHIR is export {
  has Str $.id;
  has CodeableConcept $.flag;
  has DateTime $.date;
  has Reference $.item is required;
  has Bool $.deleted;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class FHIRList is DomainResource is export {
  method resourceType(--> 'List') {}
  has FHIRCode $.mode is required;
  has CodeableConcept $.code;
  has DateTime $.date;
  has Annotation @.note;
  has Str $.title;
  has FHIRCode $.status is required;
  has Reference $.source;
  has Reference $.subject;
  has Reference $.encounter;
  has CodeableConcept $.orderedBy;
  has Identifier @.identifier;
  has CodeableConcept $.emptyReason;
  has List_Entry @.entry;
}

class Distance is Quantity is export {
  
}
class Organization_Contact is FHIR is export {
  has Str $.id;
  has HumanName $.name;
  has CodeableConcept $.purpose;
  has ContactPoint @.telecom;
  has Address $.address;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Organization is DomainResource is export {
  method resourceType(--> 'Organization') {}
  has CodeableConcept @.type;
  has Str $.name;
  has Str @.alias;
  has Bool $.active;
  has Reference $.partOf;
  has ContactPoint @.telecom;
  has Address @.address;
  has Reference @.endpoint;
  has Identifier @.identifier;
  has Organization_Contact @.contact;
}
class EffectEvidenceSynthesis_SampleSize is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has Str $.description;
  has Int $.numberOfStudies;
  has Extension @.modifierExtension;
  has Int $.numberOfParticipants;
}

class EffectEvidenceSynthesis_ResultsByExposure is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has Str $.description;
  has CodeableConcept $.variantState;
  has FHIRCode $.exposureState;
  has Extension @.modifierExtension;
  has Reference $.riskEvidenceSynthesis is required;
}

class EffectEvidenceSynthesis_Certainty_CertaintySubcomponent is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has Annotation @.note;
  has CodeableConcept @.rating;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class EffectEvidenceSynthesis_Certainty is FHIR is export {
  has Str $.id;
  has Annotation @.note;
  has CodeableConcept @.rating;
  has Extension @.extension;
  has Extension @.modifierExtension;
  has EffectEvidenceSynthesis_Certainty_CertaintySubcomponent @.certaintySubcomponent;
}

class EffectEvidenceSynthesis_EffectEstimate_PrecisionEstimate is FHIR is export {
  has Str $.id;
  has Real $.to;
  has CodeableConcept $.type;
  has Real $.from;
  has Real $.level;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class EffectEvidenceSynthesis_EffectEstimate is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has Real $.value;
  has Extension @.extension;
  has Str $.description;
  has CodeableConcept $.variantState;
  has CodeableConcept $.unitOfMeasure;
  has Extension @.modifierExtension;
  has EffectEvidenceSynthesis_EffectEstimate_PrecisionEstimate @.precisionEstimate;
}

class EffectEvidenceSynthesis is DomainResource is export {
  method resourceType(--> 'EffectEvidenceSynthesis') {}
  has UriStr $.url;
  has Str $.name;
  has DateTime $.date;
  has Annotation @.note;
  has Str $.title;
  has CodeableConcept @.topic;
  has FHIRCode $.status is required;
  has ContactDetail @.author;
  has ContactDetail @.editor;
  has Str $.version;
  has ContactDetail @.contact;
  has Reference $.outcome is required;
  has ContactDetail @.reviewer;
  has ContactDetail @.endorser;
  has Reference $.exposure is required;
  has Str $.publisher;
  has Markdown $.copyright;
  has CodeableConcept $.studyType;
  has Identifier @.identifier;
  has UsageContext @.useContext;
  has Reference $.population is required;
  has Markdown $.description;
  has CodeableConcept @.jurisdiction;
  has Date $.approvalDate;
  has CodeableConcept $.synthesisType;
  has Date $.lastReviewDate;
  has Period $.effectivePeriod;
  has RelatedArtifact @.relatedArtifact;
  has Reference $.exposureAlternative is required;
  has EffectEvidenceSynthesis_SampleSize $.sampleSize;
  has EffectEvidenceSynthesis_ResultsByExposure @.resultsByExposure;
  has EffectEvidenceSynthesis_Certainty @.certainty;
  has EffectEvidenceSynthesis_EffectEstimate @.effectEstimate;
}

class OrganizationAffiliation is DomainResource is export {
  method resourceType(--> 'OrganizationAffiliation') {}
  has CodeableConcept @.code;
  has Bool $.active;
  has Period $.period;
  has Reference @.network;
  has ContactPoint @.telecom;
  has Reference @.location;
  has Reference @.endpoint;
  has CodeableConcept @.specialty;
  has Identifier @.identifier;
  has Reference $.organization;
  has Reference @.healthcareService;
  has Reference $.participatingOrganization;
}
class SubstancePolymer_MonomerSet_StartingMaterial is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has Any $.amount;
  has CodeableConcept $.material;
  has Extension @.extension;
  has Bool $.isDefining;
  has Extension @.modifierExtension;
}
class SubstancePolymer_MonomerSet is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has CodeableConcept $.ratioType;
  has Extension @.modifierExtension;
  has SubstancePolymer_MonomerSet_StartingMaterial @.startingMaterial;
}

class SubstancePolymer_Repeat_RepeatUnit_DegreeOfPolymerisation is FHIR is export {
  has Str $.id;
  has CodeableConcept $.degree;
  has Any $.amount;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class SubstancePolymer_Repeat_RepeatUnit_StructuralRepresentation is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has Extension @.extension;
  has Attachment $.attachment;
  has Str $.representation;
  has Extension @.modifierExtension;
}
class SubstancePolymer_Repeat_RepeatUnit is FHIR is export {
  has Str $.id;
  has Any $.amount;
  has Extension @.extension;
  has Str $.repeatUnit;
  has Extension @.modifierExtension;
  has CodeableConcept $.orientationOfPolymerisation;
  has SubstancePolymer_Repeat_RepeatUnit_DegreeOfPolymerisation @.degreeOfPolymerisation;
  has SubstancePolymer_Repeat_RepeatUnit_StructuralRepresentation @.structuralRepresentation;
}
class SubstancePolymer_Repeat is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has Int $.numberOfUnits;
  has Extension @.modifierExtension;
  has CodeableConcept $.repeatUnitAmountType;
  has Str $.averageMolecularFormula;
  has SubstancePolymer_Repeat_RepeatUnit @.repeatUnit;
}

class SubstancePolymer is DomainResource is export {
  method resourceType(--> 'SubstancePolymer') {}
  has CodeableConcept $.class;
  has CodeableConcept $.geometry;
  has Str @.modification;
  has CodeableConcept @.copolymerConnectivity;
  has SubstancePolymer_MonomerSet @.monomerSet;
  has SubstancePolymer_Repeat @.repeat;
}
class Coverage_Class is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type is required;
  has Str $.name;
  has Str $.value is required;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Coverage_CostToBeneficiary_Exception is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type is required;
  has Period $.period;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class Coverage_CostToBeneficiary is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has ChoiceField $.value is required where Money|Quantity;
  has Extension @.extension;
  has Extension @.modifierExtension;
  has Coverage_CostToBeneficiary_Exception @.exception;
}

class Coverage is DomainResource is export {
  method resourceType(--> 'Coverage') {}
  has CodeableConcept $.type;
  has Reference @.payor is required;
  has PositiveInt $.order;
  has FHIRCode $.status is required;
  has Period $.period;
  has Str $.network;
  has Reference @.contract;
  has Str $.dependent;
  has Identifier @.identifier;
  has Reference $.subscriber;
  has Reference $.beneficiary is required;
  has Bool $.subrogation;
  has Reference $.policyHolder;
  has Str $.subscriberId;
  has CodeableConcept $.relationship;
  has Coverage_Class @.class;
  has Coverage_CostToBeneficiary @.costToBeneficiary;
}
class MedicinalProductPackaged_BatchIdentifier is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has Identifier $.outerPackaging is required;
  has Extension @.modifierExtension;
  has Identifier $.immediatePackaging;
}

class MedicinalProductPackaged_PackageItem is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type is required;
  has Reference @.device;
  has Quantity $.quantity is required;
  has CodeableConcept @.material;
  has Extension @.extension;
  has Identifier @.identifier;
  has MedicinalProductPackaged_PackageItem @.packageItem;
  has Reference @.manufacturer;
  has Reference @.manufacturedItem;
  has Any @.shelfLifeStorage;
  has Extension @.modifierExtension;
  has CodeableConcept @.alternateMaterial;
  has CodeableConcept @.otherCharacteristics;
  has Any $.physicalCharacteristics;
}

class MedicinalProductPackaged is DomainResource is export {
  method resourceType(--> 'MedicinalProductPackaged') {}
  has Reference @.subject;
  has Identifier @.identifier;
  has Str $.description;
  has Reference @.manufacturer;
  has Any @.marketingStatus;
  has CodeableConcept $.legalStatusOfSupply;
  has Reference $.marketingAuthorization;
  has MedicinalProductPackaged_BatchIdentifier @.batchIdentifier;
  has MedicinalProductPackaged_PackageItem @.packageItem is required;
}
class CatalogEntry_RelatedEntry is FHIR is export {
  has Str $.id;
  has Reference $.item is required;
  has Extension @.extension;
  has FHIRCode $.relationtype is required;
  has Extension @.modifierExtension;
}

class CatalogEntry is DomainResource is export {
  method resourceType(--> 'CatalogEntry') {}
  has CodeableConcept $.type;
  has FHIRCode $.status;
  has DateTime $.validTo;
  has Bool $.orderable is required;
  has Identifier @.identifier;
  has DateTime $.lastUpdated;
  has Reference $.referencedItem is required;
  has CodeableConcept @.classification;
  has Period $.validityPeriod;
  has Identifier @.additionalIdentifier;
  has CodeableConcept @.additionalCharacteristic;
  has CodeableConcept @.additionalClassification;
  has CatalogEntry_RelatedEntry @.relatedEntry;
}

class Schedule is DomainResource is export {
  method resourceType(--> 'Schedule') {}
  has Reference @.actor is required;
  has Bool $.active;
  has Str $.comment;
  has CodeableConcept @.specialty;
  has Identifier @.identifier;
  has CodeableConcept @.serviceType;
  has CodeableConcept @.serviceCategory;
  has Period $.planningHorizon;
}
class Procedure_Performer is FHIR is export {
  has Str $.id;
  has Reference $.actor is required;
  has CodeableConcept $.function;
  has Extension @.extension;
  has Reference $.onBehalfOf;
  has Extension @.modifierExtension;
}

class Procedure_FocalDevice is FHIR is export {
  has Str $.id;
  has CodeableConcept $.action;
  has Extension @.extension;
  has Reference $.manipulated is required;
  has Extension @.modifierExtension;
}

class Procedure is DomainResource is export {
  method resourceType(--> 'Procedure') {}
  has CodeableConcept $.code;
  has Annotation @.note;
  has Reference @.partOf;
  has FHIRCode $.status is required;
  has Reference @.report;
  has Reference @.basedOn;
  has Reference $.subject is required;
  has CodeableConcept $.outcome;
  has CodeableConcept $.category;
  has Reference $.recorder;
  has Reference $.asserter;
  has Reference $.location;
  has CodeableConcept @.bodySite;
  has CodeableConcept @.followUp;
  has CodeableConcept @.usedCode;
  has Reference $.encounter;
  has Identifier @.identifier;
  has CodeableConcept @.reasonCode;
  has CodeableConcept $.statusReason;
  has ChoiceField $.performed where Age|DateTime|Period|Range|Str;
  has CodeableConcept @.complication;
  has Reference @.usedReference;
  has UriStr @.instantiatesUri;
  has Reference @.reasonReference;
  has Reference @.complicationDetail;
  has Canonical @.instantiatesCanonical;
  has Procedure_Performer @.performer;
  has Procedure_FocalDevice @.focalDevice;
}
class Invoice_Participant is FHIR is export {
  has Str $.id;
  has CodeableConcept $.role;
  has Reference $.actor is required;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Invoice_LineItem_PriceComponent is FHIR is export {
  has Str $.id;
  has FHIRCode $.type is required;
  has CodeableConcept $.code;
  has Real $.factor;
  has Money $.amount;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class Invoice_LineItem is FHIR is export {
  has Str $.id;
  has PositiveInt $.sequence;
  has Extension @.extension;
  has ChoiceField $.chargeItem is required where CodeableConcept|Reference;
  has Extension @.modifierExtension;
  has Invoice_LineItem_PriceComponent @.priceComponent;
}

class Invoice is DomainResource is export {
  method resourceType(--> 'Invoice') {}
  has CodeableConcept $.type;
  has DateTime $.date;
  has Annotation @.note;
  has FHIRCode $.status is required;
  has Reference $.issuer;
  has Reference $.subject;
  has Reference $.account;
  has Money $.totalNet;
  has Reference $.recipient;
  has Identifier @.identifier;
  has Money $.totalGross;
  has Markdown $.paymentTerms;
  has Str $.cancelledReason;
  has Invoice_LineItem_PriceComponent @.totalPriceComponent;
  has Invoice_Participant @.participant;
  has Invoice_LineItem @.lineItem;
}
class MedicinalProductContraindication_OtherTherapy is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has ChoiceField $.medication is required where CodeableConcept|Reference;
  has Extension @.modifierExtension;
  has CodeableConcept $.therapyRelationshipType is required;
}

class MedicinalProductContraindication is DomainResource is export {
  method resourceType(--> 'MedicinalProductContraindication') {}
  has Reference @.subject;
  has CodeableConcept $.disease;
  has Any @.population;
  has CodeableConcept @.comorbidity;
  has CodeableConcept $.diseaseStatus;
  has Reference @.therapeuticIndication;
  has MedicinalProductContraindication_OtherTherapy @.otherTherapy;
}
class Appointment_Participant is FHIR is export {
  has Str $.id;
  has CodeableConcept @.type;
  has Reference $.actor;
  has FHIRCode $.status is required;
  has Period $.period;
  has FHIRCode $.required;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Appointment is DomainResource is export {
  method resourceType(--> 'Appointment') {}
  has DateTime $.end;
  has Reference @.slot;
  has DateTime $.start;
  has FHIRCode $.status is required;
  has DateTime $.created;
  has Str $.comment;
  has Reference @.basedOn;
  has UnsignedInt $.priority;
  has CodeableConcept @.specialty;
  has Identifier @.identifier;
  has CodeableConcept @.reasonCode;
  has CodeableConcept @.serviceType;
  has Str $.description;
  has CodeableConcept @.serviceCategory;
  has CodeableConcept $.appointmentType;
  has Reference @.reasonReference;
  has PositiveInt $.minutesDuration;
  has Period @.requestedPeriod;
  has CodeableConcept $.cancelationReason;
  has Str $.patientInstruction;
  has Reference @.supportingInformation;
  has Appointment_Participant @.participant is required;
}

class Age is Quantity is export {
  
}

class Flag is DomainResource is export {
  method resourceType(--> 'Flag') {}
  has CodeableConcept $.code is required;
  has FHIRCode $.status is required;
  has Period $.period;
  has Reference $.author;
  has Reference $.subject is required;
  has CodeableConcept @.category;
  has Reference $.encounter;
  has Identifier @.identifier;
}

class ResearchSubject is DomainResource is export {
  method resourceType(--> 'ResearchSubject') {}
  has Reference $.study is required;
  has FHIRCode $.status is required;
  has Period $.period;
  has Reference $.consent;
  has Str $.actualArm;
  has Identifier @.identifier;
  has Reference $.individual is required;
  has Str $.assignedArm;
}
class MedicinalProductIngredient_Substance is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code is required;
  has MedicinalProductIngredient_SpecifiedSubstance_Strength @.strength;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class MedicinalProductIngredient_SpecifiedSubstance_Strength_ReferenceStrength is FHIR is export {
  has Str $.id;
  has CodeableConcept @.country;
  has Ratio $.strength is required;
  has Extension @.extension;
  has CodeableConcept $.substance;
  has Ratio $.strengthLowLimit;
  has Str $.measurementPoint;
  has Extension @.modifierExtension;
}
class MedicinalProductIngredient_SpecifiedSubstance_Strength is FHIR is export {
  has Str $.id;
  has CodeableConcept @.country;
  has Extension @.extension;
  has Ratio $.presentation is required;
  has Ratio $.concentration;
  has Str $.measurementPoint;
  has Extension @.modifierExtension;
 