### ----------------------------------------------------
### -- FHIR
### -- Licenses: Artistic-2.0
### -- Authors: Hugh Simpson
### -- File: lib/FHIR/DomainModel.rakumod
### ----------------------------------------------------
### -- Chunk 7 of 8
 has Ratio $.presentationLowLimit;
  has Ratio $.concentrationLowLimit;
  has MedicinalProductIngredient_SpecifiedSubstance_Strength_ReferenceStrength @.referenceStrength;
}
class MedicinalProductIngredient_SpecifiedSubstance is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code is required;
  has CodeableConcept $.group is required;
  has Extension @.extension;
  has CodeableConcept $.confidentiality;
  has Extension @.modifierExtension;
  has MedicinalProductIngredient_SpecifiedSubstance_Strength @.strength;
}

class MedicinalProductIngredient is DomainResource is export {
  method resourceType(--> 'MedicinalProductIngredient') {}
  has CodeableConcept $.role is required;
  has Identifier $.identifier;
  has Reference @.manufacturer;
  has Bool $.allergenicIndicator;
  has MedicinalProductIngredient_Substance $.substance;
  has MedicinalProductIngredient_SpecifiedSubstance @.specifiedSubstance;
}
class Medication_Batch is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has Str $.lotNumber;
  has DateTime $.expirationDate;
  has Extension @.modifierExtension;
}

class Medication_Ingredient is FHIR is export {
  has Str $.id;
  has ChoiceField $.item is required where CodeableConcept|Reference;
  has Bool $.isActive;
  has Ratio $.strength;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Medication is DomainResource is export {
  method resourceType(--> 'Medication') {}
  has CodeableConcept $.code;
  has CodeableConcept $.form;
  has FHIRCode $.status;
  has Ratio $.amount;
  has Identifier @.identifier;
  has Reference $.manufacturer;
  has Medication_Batch $.batch;
  has Medication_Ingredient @.ingredient;
}
class VerificationResult_Validator is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has Reference $.organization is required;
  has Extension @.modifierExtension;
  has Str $.identityCertificate;
  has FHIRSignature $.attestationSignature;
}

class VerificationResult_PrimarySource is FHIR is export {
  has Str $.id;
  has Reference $.who;
  has CodeableConcept @.type;
  has Extension @.extension;
  has DateTime $.validationDate;
  has CodeableConcept $.canPushUpdates;
  has CodeableConcept $.validationStatus;
  has Extension @.modifierExtension;
  has CodeableConcept @.pushTypeAvailable;
  has CodeableConcept @.communicationMethod;
}

class VerificationResult_Attestation is FHIR is export {
  has Str $.id;
  has Reference $.who;
  has Date $.date;
  has Extension @.extension;
  has Reference $.onBehalfOf;
  has FHIRSignature $.proxySignature;
  has FHIRSignature $.sourceSignature;
  has Extension @.modifierExtension;
  has CodeableConcept $.communicationMethod;
  has Str $.proxyIdentityCertificate;
  has Str $.sourceIdentityCertificate;
}

class VerificationResult is DomainResource is export {
  method resourceType(--> 'VerificationResult') {}
  has CodeableConcept $.need;
  has Reference @.target;
  has FHIRCode $.status is required;
  has Timing $.frequency;
  has DateTime $.statusDate;
  has DateTime $.lastPerformed;
  has Date $.nextScheduled;
  has CodeableConcept $.failureAction;
  has Str @.targetLocation;
  has CodeableConcept $.validationType;
  has CodeableConcept @.validationProcess;
  has VerificationResult_Validator @.validator;
  has VerificationResult_PrimarySource @.primarySource;
  has VerificationResult_Attestation $.attestation;
}
class Group_Member is FHIR is export {
  has Str $.id;
  has Reference $.entity is required;
  has Period $.period;
  has Bool $.inactive;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Group_Characteristic is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code is required;
  has Period $.period;
  has Bool $.exclude is required;
  has ChoiceField $.value is required where Bool|CodeableConcept|Quantity|Range|Reference;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Group is DomainResource is export {
  method resourceType(--> 'Group') {}
  has FHIRCode $.type is required;
  has CodeableConcept $.code;
  has Str $.name;
  has Bool $.active;
  has Bool $.actual is required;
  has UnsignedInt $.quantity;
  has Identifier @.identifier;
  has Reference $.managingEntity;
  has Group_Member @.member;
  has Group_Characteristic @.characteristic;
}
class SupplyRequest_Parameter is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code;
  has ChoiceField $.value where Bool|CodeableConcept|Quantity|Range;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class SupplyRequest is DomainResource is export {
  method resourceType(--> 'SupplyRequest') {}
  has FHIRCode $.status;
  has ChoiceField $.item is required where CodeableConcept|Reference;
  has CodeableConcept $.category;
  has FHIRCode $.priority;
  has Quantity $.quantity is required;
  has Reference @.supplier;
  has Reference $.requester;
  has Reference $.deliverTo;
  has Identifier @.identifier;
  has DateTime $.authoredOn;
  has CodeableConcept @.reasonCode;
  has Reference $.deliverFrom;
  has ChoiceField $.occurrence where DateTime|Period|Timing;
  has Reference @.reasonReference;
  has SupplyRequest_Parameter @.parameter;
}
class Composition_Event is FHIR is export {
  has Str $.id;
  has CodeableConcept @.code;
  has Period $.period;
  has Reference @.detail;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Composition_Section is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code;
  has Narrative $.text;
  has FHIRCode $.mode;
  has Str $.title;
  has Reference $.focus;
  has Reference @.entry;
  has Reference @.author;
  has Composition_Section @.section;
  has Extension @.extension;
  has CodeableConcept $.orderedBy;
  has CodeableConcept $.emptyReason;
  has Extension @.modifierExtension;
}

class Composition_Attester is FHIR is export {
  has Str $.id;
  has FHIRCode $.mode is required;
  has DateTime $.time;
  has Reference $.party;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Composition_RelatesTo is FHIR is export {
  has Str $.id;
  has FHIRCode $.code is required;
  has Extension @.extension;
  has ChoiceField $.target is required where Identifier|Reference;
  has Extension @.modifierExtension;
}

class Composition is DomainResource is export {
  method resourceType(--> 'Composition') {}
  has CodeableConcept $.type is required;
  has DateTime $.date is required;
  has Str $.title is required;
  has FHIRCode $.status is required;
  has Reference @.author is required;
  has Reference $.subject;
  has CodeableConcept @.category;
  has Reference $.encounter;
  has Reference $.custodian;
  has Identifier $.identifier;
  has FHIRCode $.confidentiality;
  has Composition_Event @.event;
  has Composition_Section @.section;
  has Composition_Attester @.attester;
  has Composition_RelatesTo @.relatesTo;
}
class DocumentManifest_Related is FHIR is export {
  has Str $.id;
  has Reference $.ref;
  has Extension @.extension;
  has Identifier $.identifier;
  has Extension @.modifierExtension;
}

class DocumentManifest is DomainResource is export {
  method resourceType(--> 'DocumentManifest') {}
  has CodeableConcept $.type;
  has FHIRCode $.status is required;
  has Reference @.author;
  has UriStr $.source;
  has Reference $.subject;
  has DateTime $.created;
  has Reference @.content is required;
  has Reference @.recipient;
  has Identifier @.identifier;
  has Str $.description;
  has Identifier $.masterIdentifier;
  has DocumentManifest_Related @.related;
}
class DeviceMetric_Calibration is FHIR is export {
  has Str $.id;
  has FHIRCode $.type;
  has DateTime $.time;
  has FHIRCode $.state;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class DeviceMetric is DomainResource is export {
  method resourceType(--> 'DeviceMetric') {}
  has CodeableConcept $.type is required;
  has CodeableConcept $.unit;
  has FHIRCode $.color;
  has Reference $.source;
  has Reference $.parent;
  has FHIRCode $.category is required;
  has Identifier @.identifier;
  has FHIRCode $.operationalStatus;
  has Timing $.measurementPeriod;
  has DeviceMetric_Calibration @.calibration;
}

class Duration is Quantity is export {
  
}
class RelatedPerson_Communication is FHIR is export {
  has Str $.id;
  has CodeableConcept $.language is required;
  has Extension @.extension;
  has Bool $.preferred;
  has Extension @.modifierExtension;
}

class RelatedPerson is DomainResource is export {
  method resourceType(--> 'RelatedPerson') {}
  has HumanName @.name;
  has Attachment @.photo;
  has Bool $.active;
  has FHIRCode $.gender;
  has Period $.period;
  has Reference $.patient is required;
  has ContactPoint @.telecom;
  has Address @.address;
  has Date $.birthDate;
  has Identifier @.identifier;
  has CodeableConcept @.relationship;
  has RelatedPerson_Communication @.communication;
}

class DeviceUseStatement is DomainResource is export {
  method resourceType(--> 'DeviceUseStatement') {}
  has Annotation @.note;
  has FHIRCode $.status is required;
  has Reference $.source;
  has Reference $.device is required;
  has Reference @.basedOn;
  has Reference $.subject is required;
  has CodeableConcept $.bodySite;
  has ChoiceField $.timing where DateTime|Period|Timing;
  has Identifier @.identifier;
  has DateTime $.recordedOn;
  has CodeableConcept @.reasonCode;
  has Reference @.derivedFrom;
  has Reference @.reasonReference;
}
class NutritionOrder_Supplement is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has Timing @.schedule;
  has Quantity $.quantity;
  has Extension @.extension;
  has Str $.productName;
  has Str $.instruction;
  has Extension @.modifierExtension;
}

class NutritionOrder_OralDiet_Texture is FHIR is export {
  has Str $.id;
  has CodeableConcept $.modifier;
  has CodeableConcept $.foodType;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class NutritionOrder_OralDiet_Nutrient is FHIR is export {
  has Str $.id;
  has Quantity $.amount;
  has CodeableConcept $.modifier;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class NutritionOrder_OralDiet is FHIR is export {
  has Str $.id;
  has CodeableConcept @.type;
  has Timing @.schedule;
  has Extension @.extension;
  has Str $.instruction;
  has Extension @.modifierExtension;
  has CodeableConcept @.fluidConsistencyType;
  has NutritionOrder_OralDiet_Texture @.texture;
  has NutritionOrder_OralDiet_Nutrient @.nutrient;
}

class NutritionOrder_EnteralFormula_Administration is FHIR is export {
  has Str $.id;
  has ChoiceField $.rate where Quantity|Ratio;
  has Timing $.schedule;
  has Quantity $.quantity;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class NutritionOrder_EnteralFormula is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has CodeableConcept $.additiveType;
  has Quantity $.caloricDensity;
  has CodeableConcept $.baseFormulaType;
  has Extension @.modifierExtension;
  has Quantity $.maxVolumeToDeliver;
  has Str $.additiveProductName;
  has CodeableConcept $.routeofAdministration;
  has Str $.baseFormulaProductName;
  has Str $.administrationInstruction;
  has NutritionOrder_EnteralFormula_Administration @.administration;
}

class NutritionOrder is DomainResource is export {
  method resourceType(--> 'NutritionOrder') {}
  has Annotation @.note;
  has FHIRCode $.status is required;
  has FHIRCode $.intent is required;
  has Reference $.patient is required;
  has Reference $.orderer;
  has DateTime $.dateTime is required;
  has Reference $.encounter;
  has Identifier @.identifier;
  has UriStr @.instantiates;
  has UriStr @.instantiatesUri;
  has Reference @.allergyIntolerance;
  has CodeableConcept @.excludeFoodModifier;
  has Canonical @.instantiatesCanonical;
  has CodeableConcept @.foodPreferenceModifier;
  has NutritionOrder_Supplement @.supplement;
  has NutritionOrder_OralDiet $.oralDiet;
  has NutritionOrder_EnteralFormula $.enteralFormula;
}
class Questionnaire_Item_Initial is FHIR is export {
  has Str $.id;
  has ChoiceField $.value is required where Attachment|Bool|Coding|Real|Date|DateTime|Int|Instant|Quantity|Reference|Str|UriStr;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class Questionnaire_Item_EnableWhen is FHIR is export {
  has Str $.id;
  has Str $.question is required;
  has FHIRCode $.operator is required;
  has Extension @.extension;
  has ChoiceField $.answer is required where Bool|Coding|Real|Date|DateTime|Int|Instant|Quantity|Reference|Str;
  has Extension @.modifierExtension;
}

class Questionnaire_Item_AnswerOption is FHIR is export {
  has Str $.id;
  has ChoiceField $.value is required where Coding|Date|Int|Instant|Reference|Str;
  has Extension @.extension;
  has Bool $.initialSelected;
  has Extension @.modifierExtension;
}
class Questionnaire_Item is FHIR is export {
  has Str $.id;
  has Coding @.code;
  has Str $.text;
  has FHIRCode $.type is required;
  has Questionnaire_Item @.item;
  has Str $.linkId is required;
  has Str $.prefix;
  has Bool $.repeats;
  has Bool $.required;
  has Bool $.readOnly;
  has Extension @.extension;
  has Int $.maxLength;
  has UriStr $.definition;
  has FHIRCode $.enableBehavior;
  has Canonical $.answerValueSet;
  has Extension @.modifierExtension;
  has Questionnaire_Item_Initial @.initial;
  has Questionnaire_Item_EnableWhen @.enableWhen;
  has Questionnaire_Item_AnswerOption @.answerOption;
}

class Questionnaire is DomainResource is export {
  method resourceType(--> 'Questionnaire') {}
  has UriStr $.url;
  has Str $.name;
  has DateTime $.date;
  has Coding @.code;
  has Str $.title;
  has FHIRCode $.status is required;
  has Str $.version;
  has ContactDetail @.contact;
  has Markdown $.purpose;
  has Str $.publisher;
  has Markdown $.copyright;
  has Identifier @.identifier;
  has UsageContext @.useContext;
  has Canonical @.derivedFrom;
  has FHIRCode @.subjectType;
  has Markdown $.description;
  has Bool $.experimental;
  has CodeableConcept @.jurisdiction;
  has Date $.approvalDate;
  has Date $.lastReviewDate;
  has Period $.effectivePeriod;
  has Questionnaire_Item @.item;
}
class MedicinalProductIndication_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 MedicinalProductIndication is DomainResource is export {
  method resourceType(--> 'MedicinalProductIndication') {}
  has Reference @.subject;
  has Quantity $.duration;
  has Any @.population;
  has CodeableConcept @.comorbidity;
  has CodeableConcept $.diseaseStatus;
  has CodeableConcept $.intendedEffect;
  has Reference @.undesirableEffect;
  has CodeableConcept $.diseaseSymptomProcedure;
  has MedicinalProductIndication_OtherTherapy @.otherTherapy;
}
class Specimen_Container is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has Quantity $.capacity;
  has Extension @.extension;
  has Identifier @.identifier;
  has Str $.description;
  has ChoiceField $.additive where CodeableConcept|Reference;
  has Quantity $.specimenQuantity;
  has Extension @.modifierExtension;
}

class Specimen_Collection is FHIR is export {
  has Str $.id;
  has CodeableConcept $.method;
  has Duration $.duration;
  has Quantity $.quantity;
  has CodeableConcept $.bodySite;
  has Extension @.extension;
  has Reference $.collector;
  has ChoiceField $.collected where DateTime|Period;
  has ChoiceField $.fastingStatus where CodeableConcept|Duration;
  has Extension @.modifierExtension;
}

class Specimen_Processing is FHIR is export {
  has Str $.id;
  has ChoiceField $.time where DateTime|Period;
  has Reference @.additive;
  has Extension @.extension;
  has CodeableConcept $.procedure;
  has Str $.description;
  has Extension @.modifierExtension;
}

class Specimen is DomainResource is export {
  method resourceType(--> 'Specimen') {}
  has CodeableConcept $.type;
  has Annotation @.note;
  has FHIRCode $.status;
  has Reference @.parent;
  has Reference $.subject;
  has Reference @.request;
  has CodeableConcept @.condition;
  has Identifier @.identifier;
  has DateTime $.receivedTime;
  has Identifier $.accessionIdentifier;
  has Specimen_Container @.container;
  has Specimen_Collection $.collection;
  has Specimen_Processing @.processing;
}
class MeasureReport_Group_Population is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code;
  has Int $.count;
  has Extension @.extension;
  has Reference $.subjectResults;
  has Extension @.modifierExtension;
}

class MeasureReport_Group_Stratifier_Stratum_Component is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code is required;
  has CodeableConcept $.value is required;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class MeasureReport_Group_Stratifier_Stratum_Population is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code;
  has Int $.count;
  has Extension @.extension;
  has Reference $.subjectResults;
  has Extension @.modifierExtension;
}
class MeasureReport_Group_Stratifier_Stratum is FHIR is export {
  has Str $.id;
  has CodeableConcept $.value;
  has Extension @.extension;
  has Quantity $.measureScore;
  has Extension @.modifierExtension;
  has MeasureReport_Group_Stratifier_Stratum_Component @.component;
  has MeasureReport_Group_Stratifier_Stratum_Population @.population;
}
class MeasureReport_Group_Stratifier is FHIR is export {
  has Str $.id;
  has CodeableConcept @.code;
  has Extension @.extension;
  has Extension @.modifierExtension;
  has MeasureReport_Group_Stratifier_Stratum @.stratum;
}
class MeasureReport_Group is FHIR is export {
  has Str $.id;
  has CodeableConcept $.code;
  has Extension @.extension;
  has Quantity $.measureScore;
  has Extension @.modifierExtension;
  has MeasureReport_Group_Population @.population;
  has MeasureReport_Group_Stratifier @.stratifier;
}

class MeasureReport is DomainResource is export {
  method resourceType(--> 'MeasureReport') {}
  has FHIRCode $.type is required;
  has DateTime $.date;
  has FHIRCode $.status is required;
  has Period $.period is required;
  has Canonical $.measure is required;
  has Reference $.subject;
  has Reference $.reporter;
  has Identifier @.identifier;
  has Reference @.evaluatedResource;
  has CodeableConcept $.improvementNotation;
  has MeasureReport_Group @.group;
}
class Dosage_DoseAndRate is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has ChoiceField $.dose where Quantity|Range;
  has ChoiceField $.rate where Quantity|Range|Ratio;
  has Extension @.extension;
}

class Dosage is BackboneElement is export {
  has Str $.text;
  has CodeableConcept $.site;
  has CodeableConcept $.route;
  has Timing $.timing;
  has CodeableConcept $.method;
  has Int $.sequence;
  has ChoiceField $.asNeeded where Bool|CodeableConcept;
  has Ratio $.maxDosePerPeriod;
  has Str $.patientInstruction;
  has Quantity $.maxDosePerLifetime;
  has CodeableConcept @.additionalInstruction;
  has Dosage_DoseAndRate @.doseAndRate;
  has Quantity $.maxDosePerAdministration;
}
class ConceptMap_Group_Unmapped is FHIR is export {
  has Str $.id;
  has Canonical $.url;
  has FHIRCode $.mode is required;
  has FHIRCode $.code;
  has Str $.display;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class ConceptMap_Group_Element_Target_DependsOn is FHIR is export {
  has Str $.id;
  has Str $.value is required;
  has Canonical $.system;
  has Str $.display;
  has UriStr $.property is required;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class ConceptMap_Group_Element_Target is FHIR is export {
  has Str $.id;
  has FHIRCode $.code;
  has Str $.display;
  has Str $.comment;
  has ConceptMap_Group_Element_Target_DependsOn @.product;
  has Extension @.extension;
  has FHIRCode $.equivalence is required;
  has Extension @.modifierExtension;
  has ConceptMap_Group_Element_Target_DependsOn @.dependsOn;
}
class ConceptMap_Group_Element is Element is export {
  has Str $.id;
  has FHIRCode $.code;
  has Str $.display;
  has Extension @.extension;
  has Extension @.modifierExtension;
  has ConceptMap_Group_Element_Target @.target;
}
class ConceptMap_Group is FHIR is export {
  has Str $.id;
  has UriStr $.source;
  has UriStr $.target;
  has Extension @.extension;
  has Str $.sourceVersion;
  has Str $.targetVersion;
  has Extension @.modifierExtension;
  has ConceptMap_Group_Unmapped $.unmapped;
  has ConceptMap_Group_Element @.element is required;
}

class ConceptMap is DomainResource is export {
  method resourceType(--> 'ConceptMap') {}
  has UriStr $.url;
  has Str $.name;
  has DateTime $.date;
  has Str $.title;
  has FHIRCode $.status is required;
  has Str $.version;
  has ContactDetail @.contact;
  has Markdown $.purpose;
  has Str $.publisher;
  has Markdown $.copyright;
  has ChoiceField $.source where Canonical|UriStr;
  has ChoiceField $.target where Canonical|UriStr;
  has Identifier $.identifier;
  has UsageContext @.useContext;
  has Markdown $.description;
  has Bool $.experimental;
  has CodeableConcept @.jurisdiction;
  has ConceptMap_Group @.group;
}
class ResearchStudy_Arm is FHIR is export {
  has Str $.id;
  has Str $.name is required;
  has CodeableConcept $.type;
  has Extension @.extension;
  has Str $.description;
  has Extension @.modifierExtension;
}

class ResearchStudy_Objective is FHIR is export {
  has Str $.id;
  has Str $.name;
  has CodeableConcept $.type;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class ResearchStudy is DomainResource is export {
  method resourceType(--> 'ResearchStudy') {}
  has Reference @.site;
  has Annotation @.note;
  has Str $.title;
  has CodeableConcept $.phase;
  has CodeableConcept @.focus;
  has Reference @.partOf;
  has FHIRCode $.status is required;
  has Period $.period;
  has ContactDetail @.contact;
  has CodeableConcept @.keyword;
  has Reference $.sponsor;
  has Reference @.protocol;
  has CodeableConcept @.category;
  has CodeableConcept @.location;
  has CodeableConcept @.condition;
  has Identifier @.identifier;
  has Reference @.enrollment;
  has Markdown $.description;
  has CodeableConcept $.reasonStopped;
  has RelatedArtifact @.relatedArtifact;
  has CodeableConcept $.primaryPurposeType;
  has Reference $.principalInvestigator;
  has ResearchStudy_Arm @.arm;
  has ResearchStudy_Objective @.objective;
}
class ActivityDefinition_Participant is FHIR is export {
  has Str $.id;
  has FHIRCode $.type is required;
  has CodeableConcept $.role;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class ActivityDefinition_DynamicValue is FHIR is export {
  has Str $.id;
  has Str $.path is required;
  has Extension @.extension;
  has Expression $.expression is required;
  has Extension @.modifierExtension;
}

class ActivityDefinition is DomainResource is export {
  method resourceType(--> 'ActivityDefinition') {}
  has UriStr $.url;
  has Str $.name;
  has DateTime $.date;
  has FHIRCode $.kind;
  has CodeableConcept $.code;
  has Str $.title;
  has Str $.usage;
  has CodeableConcept @.topic;
  has FHIRCode $.status is required;
  has ContactDetail @.author;
  has ContactDetail @.editor;
  has FHIRCode $.intent;
  has Dosage @.dosage;
  has Str $.version;
  has ContactDetail @.contact;
  has Markdown $.purpose;
  has Canonical @.library;
  has Canonical $.profile;
  has Str $.subtitle;
  has ContactDetail @.reviewer;
  has ContactDetail @.endorser;
  has FHIRCode $.priority;
  has Reference $.location;
  has Quantity $.quantity;
  has CodeableConcept @.bodySite;
  has Str $.publisher;
  has Markdown $.copyright;
  has ChoiceField $.timing where Age|Duration|DateTime|Period|Range|Timing;
  has Canonical $.transform;
  has Identifier @.identifier;
  has ChoiceField $.subject where CodeableConcept|Reference;
  has UsageContext @.useContext;
  has ChoiceField $.product where CodeableConcept|Reference;
  has Markdown $.description;
  has Bool $.experimental;
  has CodeableConcept @.jurisdiction;
  has Date $.approvalDate;
  has Bool $.doNotPerform;
  has Date $.lastReviewDate;
  has Period $.effectivePeriod;
  has RelatedArtifact @.relatedArtifact;
  has Reference @.specimenRequirement;
  has Reference @.observationRequirement;
  has Reference @.observationResultRequirement;
  has ActivityDefinition_Participant @.participant;
  has ActivityDefinition_DynamicValue @.dynamicValue;
}
class Contract_Rule is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has ChoiceField $.content is required where Attachment|Reference;
  has Extension @.modifierExtension;
}

class Contract_Legal is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has ChoiceField $.content is required where Attachment|Reference;
  has Extension @.modifierExtension;
}

class Contract_Signer is FHIR is export {
  has Str $.id;
  has Coding $.type is required;
  has Reference $.party is required;
  has Extension @.extension;
  has FHIRSignature @.signature is required;
  has Extension @.modifierExtension;
}

class Contract_Friendly is FHIR is export {
  has Str $.id;
  has Extension @.extension;
  has ChoiceField $.content is required where Attachment|Reference;
  has Extension @.modifierExtension;
}

class Contract_ContentDefinition is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type is required;
  has CodeableConcept $.subType;
  has Extension @.extension;
  has Reference $.publisher;
  has Markdown $.copyright;
  has DateTime $.publicationDate;
  has Extension @.modifierExtension;
  has FHIRCode $.publicationStatus is required;
}

class Contract_Term_Offer_Party is FHIR is export {
  has Str $.id;
  has CodeableConcept $.role is required;
  has Extension @.extension;
  has Reference @.reference is required;
  has Extension @.modifierExtension;
}

class Contract_Term_Offer_Answer is FHIR is export {
  has Str $.id;
  has ChoiceField $.value is required where Attachment|Bool|Coding|Real|Date|DateTime|Int|Instant|Quantity|Reference|Str|UriStr;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class Contract_Term_Offer is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has Str $.text;
  has Reference $.topic;
  has Str @.linkId;
  has CodeableConcept $.decision;
  has Extension @.extension;
  has Identifier @.identifier;
  has CodeableConcept @.decisionMode;
  has Extension @.modifierExtension;
  has UnsignedInt @.securityLabelNumber;
  has Contract_Term_Offer_Party @.party;
  has Contract_Term_Offer_Answer @.answer;
}

class Contract_Term_SecurityLabel is FHIR is export {
  has Str $.id;
  has UnsignedInt @.number;
  has Coding @.control;
  has Coding @.category;
  has Extension @.extension;
  has Coding $.classification is required;
  has Extension @.modifierExtension;
}

class Contract_Term_Action_Subject is FHIR is export {
  has Str $.id;
  has CodeableConcept $.role;
  has Extension @.extension;
  has Reference @.reference is required;
  has Extension @.modifierExtension;
}
class Contract_Term_Action is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type is required;
  has Annotation @.note;
  has CodeableConcept $.intent is required;
  has Str @.linkId;
  has CodeableConcept $.status is required;
  has Str @.reason;
  has Reference $.context;
  has Extension @.extension;
  has Reference @.requester;
  has Reference $.performer;
  has CodeableConcept @.reasonCode;
  has Bool $.doNotPerform;
  has Str @.reasonLinkId;
  has Str @.contextLinkId;
  has ChoiceField $.occurrence where DateTime|Period|Timing;
  has CodeableConcept @.performerType;
  has CodeableConcept $.performerRole;
  has Str @.requesterLinkId;
  has Str @.performerLinkId;
  has Reference @.reasonReference;
  has Extension @.modifierExtension;
  has UnsignedInt @.securityLabelNumber;
  has Contract_Term_Action_Subject @.subject;
}

class Contract_Term_Asset_Context is FHIR is export {
  has Str $.id;
  has CodeableConcept @.code;
  has Str $.text;
  has Extension @.extension;
  has Reference $.reference;
  has Extension @.modifierExtension;
}

class Contract_Term_Asset_ValuedItem is FHIR is export {
  has Str $.id;
  has Money $.net;
  has Real $.factor;
  has Real $.points;
  has Str @.linkId;
  has Str $.payment;
  has Quantity $.quantity;
  has Extension @.extension;
  has ChoiceField $.entity where CodeableConcept|Reference;
  has Money $.unitPrice;
  has Reference $.recipient;
  has Identifier $.identifier;
  has DateTime $.paymentDate;
  has Reference $.responsible;
  has DateTime $.effectiveTime;
  has Extension @.modifierExtension;
  has UnsignedInt @.securityLabelNumber;
}
class Contract_Term_Asset is FHIR is export {
  has Str $.id;
  has CodeableConcept @.type;
  has Str $.text;
  has CodeableConcept $.scope;
  has Period @.period;
  has Str @.linkId;
  has Contract_Term_Offer_Answer @.answer;
  has CodeableConcept @.subtype;
  has Extension @.extension;
  has Str $.condition;
  has Period @.usePeriod;
  has CodeableConcept @.periodType;
  has Coding $.relationship;
  has Reference @.typeReference;
  has Extension @.modifierExtension;
  has UnsignedInt @.securityLabelNumber;
  has Contract_Term_Asset_Context @.context;
  has Contract_Term_Asset_ValuedItem @.valuedItem;
}
class Contract_Term is FHIR is export {
  has Str $.id;
  has CodeableConcept $.type;
  has Str $.text;
  has Contract_Term @.group;
  has DateTime $.issued;
  has Period $.applies;
  has CodeableConcept $.subType;
  has ChoiceField $.topic where CodeableConcept|Reference;
  has Extension @.extension;
  has Identifier $.identifier;
  has Extension @.modifierExtension;
  has Contract_Term_Offer $.offer is required;
  has Contract_Term_SecurityLabel @.securityLabel;
  has Contract_Term_Action @.action;
  has Contract_Term_Asset @.asset;
}

class Contract is DomainResource is export {
  method resourceType(--> 'Contract') {}
  has UriStr $.url;
  has Reference @.site;
  has Str $.name;
  has CodeableConcept $.type;
  has Str $.title;
  has Str @.alias;
  has CodeableConcept $.scope;
  has FHIRCode $.status;
  has DateTime $.issued;
  has Reference @.domain;
  has Reference $.author;
  has Str $.version;
  has Period $.applies;
  has Reference @.subject;
  has CodeableConcept @.subType;
  has Str $.subtitle;
  has ChoiceField $.topic where CodeableConcept|Reference;
  has Reference @.authority;
  has Identifier @.identifier;
  has CodeableConcept $.legalState;
  has CodeableConcept $.expirationType;
  has Reference @.supportingInfo;
  has UriStr $.instantiatesUri;
  has Reference @.relevantHistory;
  has CodeableConcept $.contentDerivative;
  has ChoiceField $.legallyBinding where Attachment|Reference;
  has Reference $.instantiatesCanonical;
  has Contract_Rule @.rule;
  has Contract_Legal @.legal;
  has Contract_Signer @.signer;
  has Contract_Friendly @.friendly;
  has Contract_ContentDefinition $.contentDefinition;
  has Contract_Term @.term;
}
class ValueSet_Expansion_Contains is FHIR is export {
  has Str $.id;
  has FHIRCode $.code;
  has UriStr $.system;
  has Str $.version;
  has Str $.display;
  has Bool $.abstract;
  has Bool $.inactive;
  has ValueSet_Expansion_Contains @.contains;
  has Extension @.extension;
  has ValueSet_Compose_Include_Concept_Designation @.designation;
  has Extension @.modifierExtension;
}

class ValueSet_Expansion_Parameter is FHIR is export {
  has Str $.id;
  has Str $.name is required;
  has ChoiceField $.value where Bool|FHIRCode|Real|DateTime|Int|Str|UriStr;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class ValueSet_Expansion is FHIR is export {
  has Str $.id;
  has Int $.total;
  has Int $.offset;
  has Extension @.extension;
  has DateTime $.timestamp is required;
  has UriStr $.identifier;
  has Extension @.modifierExtension;
  has ValueSet_Expansion_Contains @.contains;
  has ValueSet_Expansion_Parameter @.parameter;
}

class ValueSet_Compose_Include_Filter is FHIR is export {
  has Str $.id;
  has FHIRCode $.op is required;
  has Str $.value is required;
  has FHIRCode $.property is required;
  has Extension @.extension;
  has Extension @.modifierExtension;
}

class ValueSet_Compose_Include_Concept_Designation is FHIR is export {
  has Str $.id;
  has Coding $.use;
  has Str $.value is required;
  has FHIRCode $.language;
  has Extension @.extension;
  has Extension @.modifierExtension;
}
class ValueSet_Compose_Include_Concept is FHIR is export {
  has Str $.id;
  has FHIRCode $.code is required;
  has Str $.display;
  has Extension @.extension;
  has Extension @.modifierExtension;
  has ValueSet_Compose_Include_Concept_D