{
  "$id" : "http://hl7.org/fhir/json-schema",
  "schema": "http://json-schema.org/draft-06/schema#",
  "description": "see http://hl7.org/fhir/json.html#schema for information about the FHIR Json Schemas",
  "discriminator": {
    "propertyName": "resourceType",
    "mapping": {
      "Account": "#/definitions/Account",
      "ActivityDefinition": "#/definitions/ActivityDefinition",
      "AdverseEvent": "#/definitions/AdverseEvent",
      "AllergyIntolerance": "#/definitions/AllergyIntolerance",
      "Appointment": "#/definitions/Appointment",
      "AppointmentResponse": "#/definitions/AppointmentResponse",
      "AuditEvent": "#/definitions/AuditEvent",
      "Basic": "#/definitions/Basic",
      "Binary": "#/definitions/Binary",
      "BiologicallyDerivedProduct": "#/definitions/BiologicallyDerivedProduct",
      "BodyStructure": "#/definitions/BodyStructure",
      "Bundle": "#/definitions/Bundle",
      "CapabilityStatement": "#/definitions/CapabilityStatement",
      "CarePlan": "#/definitions/CarePlan",
      "CareTeam": "#/definitions/CareTeam",
      "ChargeItem": "#/definitions/ChargeItem",
      "Claim": "#/definitions/Claim",
      "ClaimResponse": "#/definitions/ClaimResponse",
      "ClinicalImpression": "#/definitions/ClinicalImpression",
      "CodeSystem": "#/definitions/CodeSystem",
      "Communication": "#/definitions/Communication",
      "CommunicationRequest": "#/definitions/CommunicationRequest",
      "CompartmentDefinition": "#/definitions/CompartmentDefinition",
      "Composition": "#/definitions/Composition",
      "ConceptMap": "#/definitions/ConceptMap",
      "Condition": "#/definitions/Condition",
      "Consent": "#/definitions/Consent",
      "Contract": "#/definitions/Contract",
      "Coverage": "#/definitions/Coverage",
      "DetectedIssue": "#/definitions/DetectedIssue",
      "Device": "#/definitions/Device",
      "DeviceComponent": "#/definitions/DeviceComponent",
      "DeviceMetric": "#/definitions/DeviceMetric",
      "DeviceRequest": "#/definitions/DeviceRequest",
      "DeviceUseStatement": "#/definitions/DeviceUseStatement",
      "DiagnosticReport": "#/definitions/DiagnosticReport",
      "DocumentManifest": "#/definitions/DocumentManifest",
      "DocumentReference": "#/definitions/DocumentReference",
      "EligibilityRequest": "#/definitions/EligibilityRequest",
      "EligibilityResponse": "#/definitions/EligibilityResponse",
      "Encounter": "#/definitions/Encounter",
      "Endpoint": "#/definitions/Endpoint",
      "EnrollmentRequest": "#/definitions/EnrollmentRequest",
      "EnrollmentResponse": "#/definitions/EnrollmentResponse",
      "EntryDefinition": "#/definitions/EntryDefinition",
      "EpisodeOfCare": "#/definitions/EpisodeOfCare",
      "EventDefinition": "#/definitions/EventDefinition",
      "ExampleScenario": "#/definitions/ExampleScenario",
      "ExpansionProfile": "#/definitions/ExpansionProfile",
      "ExplanationOfBenefit": "#/definitions/ExplanationOfBenefit",
      "FamilyMemberHistory": "#/definitions/FamilyMemberHistory",
      "Flag": "#/definitions/Flag",
      "Goal": "#/definitions/Goal",
      "GraphDefinition": "#/definitions/GraphDefinition",
      "Group": "#/definitions/Group",
      "GuidanceResponse": "#/definitions/GuidanceResponse",
      "HealthcareService": "#/definitions/HealthcareService",
      "ImagingStudy": "#/definitions/ImagingStudy",
      "Immunization": "#/definitions/Immunization",
      "ImmunizationEvaluation": "#/definitions/ImmunizationEvaluation",
      "ImmunizationRecommendation": "#/definitions/ImmunizationRecommendation",
      "ImplementationGuide": "#/definitions/ImplementationGuide",
      "ImplementationGuideInput": "#/definitions/ImplementationGuideInput",
      "ImplementationGuideOutput": "#/definitions/ImplementationGuideOutput",
      "Invoice": "#/definitions/Invoice",
      "ItemInstance": "#/definitions/ItemInstance",
      "Library": "#/definitions/Library",
      "Linkage": "#/definitions/Linkage",
      "List": "#/definitions/List",
      "Location": "#/definitions/Location",
      "Measure": "#/definitions/Measure",
      "MeasureReport": "#/definitions/MeasureReport",
      "Media": "#/definitions/Media",
      "Medication": "#/definitions/Medication",
      "MedicationAdministration": "#/definitions/MedicationAdministration",
      "MedicationDispense": "#/definitions/MedicationDispense",
      "MedicationRequest": "#/definitions/MedicationRequest",
      "MedicationStatement": "#/definitions/MedicationStatement",
      "MedicinalProduct": "#/definitions/MedicinalProduct",
      "MedicinalProductAuthorization": "#/definitions/MedicinalProductAuthorization",
      "MedicinalProductClinicals": "#/definitions/MedicinalProductClinicals",
      "MedicinalProductDeviceSpec": "#/definitions/MedicinalProductDeviceSpec",
      "MedicinalProductIngredient": "#/definitions/MedicinalProductIngredient",
      "MedicinalProductPackaged": "#/definitions/MedicinalProductPackaged",
      "MedicinalProductPharmaceutical": "#/definitions/MedicinalProductPharmaceutical",
      "MessageDefinition": "#/definitions/MessageDefinition",
      "MessageHeader": "#/definitions/MessageHeader",
      "NamingSystem": "#/definitions/NamingSystem",
      "NutritionOrder": "#/definitions/NutritionOrder",
      "Observation": "#/definitions/Observation",
      "ObservationDefinition": "#/definitions/ObservationDefinition",
      "OccupationalData": "#/definitions/OccupationalData",
      "OperationDefinition": "#/definitions/OperationDefinition",
      "OperationOutcome": "#/definitions/OperationOutcome",
      "Organization": "#/definitions/Organization",
      "OrganizationRole": "#/definitions/OrganizationRole",
      "Parameters": "#/definitions/Parameters",
      "Patient": "#/definitions/Patient",
      "PaymentNotice": "#/definitions/PaymentNotice",
      "PaymentReconciliation": "#/definitions/PaymentReconciliation",
      "Person": "#/definitions/Person",
      "PlanDefinition": "#/definitions/PlanDefinition",
      "Practitioner": "#/definitions/Practitioner",
      "PractitionerRole": "#/definitions/PractitionerRole",
      "Procedure": "#/definitions/Procedure",
      "ProcessRequest": "#/definitions/ProcessRequest",
      "ProcessResponse": "#/definitions/ProcessResponse",
      "ProductPlan": "#/definitions/ProductPlan",
      "Provenance": "#/definitions/Provenance",
      "Questionnaire": "#/definitions/Questionnaire",
      "QuestionnaireResponse": "#/definitions/QuestionnaireResponse",
      "RelatedPerson": "#/definitions/RelatedPerson",
      "RequestGroup": "#/definitions/RequestGroup",
      "ResearchStudy": "#/definitions/ResearchStudy",
      "ResearchSubject": "#/definitions/ResearchSubject",
      "RiskAssessment": "#/definitions/RiskAssessment",
      "Schedule": "#/definitions/Schedule",
      "SearchParameter": "#/definitions/SearchParameter",
      "Sequence": "#/definitions/Sequence",
      "ServiceDefinition": "#/definitions/ServiceDefinition",
      "ServiceRequest": "#/definitions/ServiceRequest",
      "Slot": "#/definitions/Slot",
      "Specimen": "#/definitions/Specimen",
      "SpecimenDefinition": "#/definitions/SpecimenDefinition",
      "StructureDefinition": "#/definitions/StructureDefinition",
      "StructureMap": "#/definitions/StructureMap",
      "Subscription": "#/definitions/Subscription",
      "Substance": "#/definitions/Substance",
      "SubstancePolymer": "#/definitions/SubstancePolymer",
      "SubstanceReferenceInformation": "#/definitions/SubstanceReferenceInformation",
      "SubstanceSpecification": "#/definitions/SubstanceSpecification",
      "SupplyDelivery": "#/definitions/SupplyDelivery",
      "SupplyRequest": "#/definitions/SupplyRequest",
      "Task": "#/definitions/Task",
      "TerminologyCapabilities": "#/definitions/TerminologyCapabilities",
      "TestReport": "#/definitions/TestReport",
      "TestScript": "#/definitions/TestScript",
      "UserSession": "#/definitions/UserSession",
      "ValueSet": "#/definitions/ValueSet",
      "VerificationResult": "#/definitions/VerificationResult",
      "VisionPrescription": "#/definitions/VisionPrescription"
    }
  },
  "oneOf": [
    {
      "$ref": "#/definitions/Account"
    },
    {
      "$ref": "#/definitions/ActivityDefinition"
    },
    {
      "$ref": "#/definitions/AdverseEvent"
    },
    {
      "$ref": "#/definitions/AllergyIntolerance"
    },
    {
      "$ref": "#/definitions/Appointment"
    },
    {
      "$ref": "#/definitions/AppointmentResponse"
    },
    {
      "$ref": "#/definitions/AuditEvent"
    },
    {
      "$ref": "#/definitions/Basic"
    },
    {
      "$ref": "#/definitions/Binary"
    },
    {
      "$ref": "#/definitions/BiologicallyDerivedProduct"
    },
    {
      "$ref": "#/definitions/BodyStructure"
    },
    {
      "$ref": "#/definitions/Bundle"
    },
    {
      "$ref": "#/definitions/CapabilityStatement"
    },
    {
      "$ref": "#/definitions/CarePlan"
    },
    {
      "$ref": "#/definitions/CareTeam"
    },
    {
      "$ref": "#/definitions/ChargeItem"
    },
    {
      "$ref": "#/definitions/Claim"
    },
    {
      "$ref": "#/definitions/ClaimResponse"
    },
    {
      "$ref": "#/definitions/ClinicalImpression"
    },
    {
      "$ref": "#/definitions/CodeSystem"
    },
    {
      "$ref": "#/definitions/Communication"
    },
    {
      "$ref": "#/definitions/CommunicationRequest"
    },
    {
      "$ref": "#/definitions/CompartmentDefinition"
    },
    {
      "$ref": "#/definitions/Composition"
    },
    {
      "$ref": "#/definitions/ConceptMap"
    },
    {
      "$ref": "#/definitions/Condition"
    },
    {
      "$ref": "#/definitions/Consent"
    },
    {
      "$ref": "#/definitions/Contract"
    },
    {
      "$ref": "#/definitions/Coverage"
    },
    {
      "$ref": "#/definitions/DetectedIssue"
    },
    {
      "$ref": "#/definitions/Device"
    },
    {
      "$ref": "#/definitions/DeviceComponent"
    },
    {
      "$ref": "#/definitions/DeviceMetric"
    },
    {
      "$ref": "#/definitions/DeviceRequest"
    },
    {
      "$ref": "#/definitions/DeviceUseStatement"
    },
    {
      "$ref": "#/definitions/DiagnosticReport"
    },
    {
      "$ref": "#/definitions/DocumentManifest"
    },
    {
      "$ref": "#/definitions/DocumentReference"
    },
    {
      "$ref": "#/definitions/EligibilityRequest"
    },
    {
      "$ref": "#/definitions/EligibilityResponse"
    },
    {
      "$ref": "#/definitions/Encounter"
    },
    {
      "$ref": "#/definitions/Endpoint"
    },
    {
      "$ref": "#/definitions/EnrollmentRequest"
    },
    {
      "$ref": "#/definitions/EnrollmentResponse"
    },
    {
      "$ref": "#/definitions/EntryDefinition"
    },
    {
      "$ref": "#/definitions/EpisodeOfCare"
    },
    {
      "$ref": "#/definitions/EventDefinition"
    },
    {
      "$ref": "#/definitions/ExampleScenario"
    },
    {
      "$ref": "#/definitions/ExpansionProfile"
    },
    {
      "$ref": "#/definitions/ExplanationOfBenefit"
    },
    {
      "$ref": "#/definitions/FamilyMemberHistory"
    },
    {
      "$ref": "#/definitions/Flag"
    },
    {
      "$ref": "#/definitions/Goal"
    },
    {
      "$ref": "#/definitions/GraphDefinition"
    },
    {
      "$ref": "#/definitions/Group"
    },
    {
      "$ref": "#/definitions/GuidanceResponse"
    },
    {
      "$ref": "#/definitions/HealthcareService"
    },
    {
      "$ref": "#/definitions/ImagingStudy"
    },
    {
      "$ref": "#/definitions/Immunization"
    },
    {
      "$ref": "#/definitions/ImmunizationEvaluation"
    },
    {
      "$ref": "#/definitions/ImmunizationRecommendation"
    },
    {
      "$ref": "#/definitions/ImplementationGuide"
    },
    {
      "$ref": "#/definitions/ImplementationGuideInput"
    },
    {
      "$ref": "#/definitions/ImplementationGuideOutput"
    },
    {
      "$ref": "#/definitions/Invoice"
    },
    {
      "$ref": "#/definitions/ItemInstance"
    },
    {
      "$ref": "#/definitions/Library"
    },
    {
      "$ref": "#/definitions/Linkage"
    },
    {
      "$ref": "#/definitions/List"
    },
    {
      "$ref": "#/definitions/Location"
    },
    {
      "$ref": "#/definitions/Measure"
    },
    {
      "$ref": "#/definitions/MeasureReport"
    },
    {
      "$ref": "#/definitions/Media"
    },
    {
      "$ref": "#/definitions/Medication"
    },
    {
      "$ref": "#/definitions/MedicationAdministration"
    },
    {
      "$ref": "#/definitions/MedicationDispense"
    },
    {
      "$ref": "#/definitions/MedicationRequest"
    },
    {
      "$ref": "#/definitions/MedicationStatement"
    },
    {
      "$ref": "#/definitions/MedicinalProduct"
    },
    {
      "$ref": "#/definitions/MedicinalProductAuthorization"
    },
    {
      "$ref": "#/definitions/MedicinalProductClinicals"
    },
    {
      "$ref": "#/definitions/MedicinalProductDeviceSpec"
    },
    {
      "$ref": "#/definitions/MedicinalProductIngredient"
    },
    {
      "$ref": "#/definitions/MedicinalProductPackaged"
    },
    {
      "$ref": "#/definitions/MedicinalProductPharmaceutical"
    },
    {
      "$ref": "#/definitions/MessageDefinition"
    },
    {
      "$ref": "#/definitions/MessageHeader"
    },
    {
      "$ref": "#/definitions/NamingSystem"
    },
    {
      "$ref": "#/definitions/NutritionOrder"
    },
    {
      "$ref": "#/definitions/Observation"
    },
    {
      "$ref": "#/definitions/ObservationDefinition"
    },
    {
      "$ref": "#/definitions/OccupationalData"
    },
    {
      "$ref": "#/definitions/OperationDefinition"
    },
    {
      "$ref": "#/definitions/OperationOutcome"
    },
    {
      "$ref": "#/definitions/Organization"
    },
    {
      "$ref": "#/definitions/OrganizationRole"
    },
    {
      "$ref": "#/definitions/Parameters"
    },
    {
      "$ref": "#/definitions/Patient"
    },
    {
      "$ref": "#/definitions/PaymentNotice"
    },
    {
      "$ref": "#/definitions/PaymentReconciliation"
    },
    {
      "$ref": "#/definitions/Person"
    },
    {
      "$ref": "#/definitions/PlanDefinition"
    },
    {
      "$ref": "#/definitions/Practitioner"
    },
    {
      "$ref": "#/definitions/PractitionerRole"
    },
    {
      "$ref": "#/definitions/Procedure"
    },
    {
      "$ref": "#/definitions/ProcessRequest"
    },
    {
      "$ref": "#/definitions/ProcessResponse"
    },
    {
      "$ref": "#/definitions/ProductPlan"
    },
    {
      "$ref": "#/definitions/Provenance"
    },
    {
      "$ref": "#/definitions/Questionnaire"
    },
    {
      "$ref": "#/definitions/QuestionnaireResponse"
    },
    {
      "$ref": "#/definitions/RelatedPerson"
    },
    {
      "$ref": "#/definitions/RequestGroup"
    },
    {
      "$ref": "#/definitions/ResearchStudy"
    },
    {
      "$ref": "#/definitions/ResearchSubject"
    },
    {
      "$ref": "#/definitions/RiskAssessment"
    },
    {
      "$ref": "#/definitions/Schedule"
    },
    {
      "$ref": "#/definitions/SearchParameter"
    },
    {
      "$ref": "#/definitions/Sequence"
    },
    {
      "$ref": "#/definitions/ServiceDefinition"
    },
    {
      "$ref": "#/definitions/ServiceRequest"
    },
    {
      "$ref": "#/definitions/Slot"
    },
    {
      "$ref": "#/definitions/Specimen"
    },
    {
      "$ref": "#/definitions/SpecimenDefinition"
    },
    {
      "$ref": "#/definitions/StructureDefinition"
    },
    {
      "$ref": "#/definitions/StructureMap"
    },
    {
      "$ref": "#/definitions/Subscription"
    },
    {
      "$ref": "#/definitions/Substance"
    },
    {
      "$ref": "#/definitions/SubstancePolymer"
    },
    {
      "$ref": "#/definitions/SubstanceReferenceInformation"
    },
    {
      "$ref": "#/definitions/SubstanceSpecification"
    },
    {
      "$ref": "#/definitions/SupplyDelivery"
    },
    {
      "$ref": "#/definitions/SupplyRequest"
    },
    {
      "$ref": "#/definitions/Task"
    },
    {
      "$ref": "#/definitions/TerminologyCapabilities"
    },
    {
      "$ref": "#/definitions/TestReport"
    },
    {
      "$ref": "#/definitions/TestScript"
    },
    {
      "$ref": "#/definitions/UserSession"
    },
    {
      "$ref": "#/definitions/ValueSet"
    },
    {
      "$ref": "#/definitions/VerificationResult"
    },
    {
      "$ref": "#/definitions/VisionPrescription"
    }
  ],
  "definitions": {
    "ResourceList": {
      "oneOf": [
        {
          "$ref": "#/definitions/Account"
        },
        {
          "$ref": "#/definitions/ActivityDefinition"
        },
        {
          "$ref": "#/definitions/AdverseEvent"
        },
        {
          "$ref": "#/definitions/AllergyIntolerance"
        },
        {
          "$ref": "#/definitions/Appointment"
        },
        {
          "$ref": "#/definitions/AppointmentResponse"
        },
        {
          "$ref": "#/definitions/AuditEvent"
        },
        {
          "$ref": "#/definitions/Basic"
        },
        {
          "$ref": "#/definitions/Binary"
        },
        {
          "$ref": "#/definitions/BiologicallyDerivedProduct"
        },
        {
          "$ref": "#/definitions/BodyStructure"
        },
        {
          "$ref": "#/definitions/Bundle"
        },
        {
          "$ref": "#/definitions/CapabilityStatement"
        },
        {
          "$ref": "#/definitions/CarePlan"
        },
        {
          "$ref": "#/definitions/CareTeam"
        },
        {
          "$ref": "#/definitions/ChargeItem"
        },
        {
          "$ref": "#/definitions/Claim"
        },
        {
          "$ref": "#/definitions/ClaimResponse"
        },
        {
          "$ref": "#/definitions/ClinicalImpression"
        },
        {
          "$ref": "#/definitions/CodeSystem"
        },
        {
          "$ref": "#/definitions/Communication"
        },
        {
          "$ref": "#/definitions/CommunicationRequest"
        },
        {
          "$ref": "#/definitions/CompartmentDefinition"
        },
        {
          "$ref": "#/definitions/Composition"
        },
        {
          "$ref": "#/definitions/ConceptMap"
        },
        {
          "$ref": "#/definitions/Condition"
        },
        {
          "$ref": "#/definitions/Consent"
        },
        {
          "$ref": "#/definitions/Contract"
        },
        {
          "$ref": "#/definitions/Coverage"
        },
        {
          "$ref": "#/definitions/DetectedIssue"
        },
        {
          "$ref": "#/definitions/Device"
        },
        {
          "$ref": "#/definitions/DeviceComponent"
        },
        {
          "$ref": "#/definitions/DeviceMetric"
        },
        {
          "$ref": "#/definitions/DeviceRequest"
        },
        {
          "$ref": "#/definitions/DeviceUseStatement"
        },
        {
          "$ref": "#/definitions/DiagnosticReport"
        },
        {
          "$ref": "#/definitions/DocumentManifest"
        },
        {
          "$ref": "#/definitions/DocumentReference"
        },
        {
          "$ref": "#/definitions/EligibilityRequest"
        },
        {
          "$ref": "#/definitions/EligibilityResponse"
        },
        {
          "$ref": "#/definitions/Encounter"
        },
        {
          "$ref": "#/definitions/Endpoint"
        },
        {
          "$ref": "#/definitions/EnrollmentRequest"
        },
        {
          "$ref": "#/definitions/EnrollmentResponse"
        },
        {
          "$ref": "#/definitions/EntryDefinition"
        },
        {
          "$ref": "#/definitions/EpisodeOfCare"
        },
        {
          "$ref": "#/definitions/EventDefinition"
        },
        {
          "$ref": "#/definitions/ExampleScenario"
        },
        {
          "$ref": "#/definitions/ExpansionProfile"
        },
        {
          "$ref": "#/definitions/ExplanationOfBenefit"
        },
        {
          "$ref": "#/definitions/FamilyMemberHistory"
        },
        {
          "$ref": "#/definitions/Flag"
        },
        {
          "$ref": "#/definitions/Goal"
        },
        {
          "$ref": "#/definitions/GraphDefinition"
        },
        {
          "$ref": "#/definitions/Group"
        },
        {
          "$ref": "#/definitions/GuidanceResponse"
        },
        {
          "$ref": "#/definitions/HealthcareService"
        },
        {
          "$ref": "#/definitions/ImagingStudy"
        },
        {
          "$ref": "#/definitions/Immunization"
        },
        {
          "$ref": "#/definitions/ImmunizationEvaluation"
        },
        {
          "$ref": "#/definitions/ImmunizationRecommendation"
        },
        {
          "$ref": "#/definitions/ImplementationGuide"
        },
        {
          "$ref": "#/definitions/ImplementationGuideInput"
        },
        {
          "$ref": "#/definitions/ImplementationGuideOutput"
        },
        {
          "$ref": "#/definitions/Invoice"
        },
        {
          "$ref": "#/definitions/ItemInstance"
        },
        {
          "$ref": "#/definitions/Library"
        },
        {
          "$ref": "#/definitions/Linkage"
        },
        {
          "$ref": "#/definitions/List"
        },
        {
          "$ref": "#/definitions/Location"
        },
        {
          "$ref": "#/definitions/Measure"
        },
        {
          "$ref": "#/definitions/MeasureReport"
        },
        {
          "$ref": "#/definitions/Media"
        },
        {
          "$ref": "#/definitions/Medication"
        },
        {
          "$ref": "#/definitions/MedicationAdministration"
        },
        {
          "$ref": "#/definitions/MedicationDispense"
        },
        {
          "$ref": "#/definitions/MedicationRequest"
        },
        {
          "$ref": "#/definitions/MedicationStatement"
        },
        {
          "$ref": "#/definitions/MedicinalProduct"
        },
        {
          "$ref": "#/definitions/MedicinalProductAuthorization"
        },
        {
          "$ref": "#/definitions/MedicinalProductClinicals"
        },
        {
          "$ref": "#/definitions/MedicinalProductDeviceSpec"
        },
        {
          "$ref": "#/definitions/MedicinalProductIngredient"
        },
        {
          "$ref": "#/definitions/MedicinalProductPackaged"
        },
        {
          "$ref": "#/definitions/MedicinalProductPharmaceutical"
        },
        {
          "$ref": "#/definitions/MessageDefinition"
        },
        {
          "$ref": "#/definitions/MessageHeader"
        },
        {
          "$ref": "#/definitions/NamingSystem"
        },
        {
          "$ref": "#/definitions/NutritionOrder"
        },
        {
          "$ref": "#/definitions/Observation"
        },
        {
          "$ref": "#/definitions/ObservationDefinition"
        },
        {
          "$ref": "#/definitions/OccupationalData"
        },
        {
          "$ref": "#/definitions/OperationDefinition"
        },
        {
          "$ref": "#/definitions/OperationOutcome"
        },
        {
          "$ref": "#/definitions/Organization"
        },
        {
          "$ref": "#/definitions/OrganizationRole"
        },
        {
          "$ref": "#/definitions/Parameters"
        },
        {
          "$ref": "#/definitions/Patient"
        },
        {
          "$ref": "#/definitions/PaymentNotice"
        },
        {
          "$ref": "#/definitions/PaymentReconciliation"
        },
        {
          "$ref": "#/definitions/Person"
        },
        {
          "$ref": "#/definitions/PlanDefinition"
        },
        {
          "$ref": "#/definitions/Practitioner"
        },
        {
          "$ref": "#/definitions/PractitionerRole"
        },
        {
          "$ref": "#/definitions/Procedure"
        },
        {
          "$ref": "#/definitions/ProcessRequest"
        },
        {
          "$ref": "#/definitions/ProcessResponse"
        },
        {
          "$ref": "#/definitions/ProductPlan"
        },
        {
          "$ref": "#/definitions/Provenance"
        },
        {
          "$ref": "#/definitions/Questionnaire"
        },
        {
          "$ref": "#/definitions/QuestionnaireResponse"
        },
        {
          "$ref": "#/definitions/RelatedPerson"
        },
        {
          "$ref": "#/definitions/RequestGroup"
        },
        {
          "$ref": "#/definitions/ResearchStudy"
        },
        {
          "$ref": "#/definitions/ResearchSubject"
        },
        {
          "$ref": "#/definitions/RiskAssessment"
        },
        {
          "$ref": "#/definitions/Schedule"
        },
        {
          "$ref": "#/definitions/SearchParameter"
        },
        {
          "$ref": "#/definitions/Sequence"
        },
        {
          "$ref": "#/definitions/ServiceDefinition"
        },
        {
          "$ref": "#/definitions/ServiceRequest"
        },
        {
          "$ref": "#/definitions/Slot"
        },
        {
          "$ref": "#/definitions/Specimen"
        },
        {
          "$ref": "#/definitions/SpecimenDefinition"
        },
        {
          "$ref": "#/definitions/StructureDefinition"
        },
        {
          "$ref": "#/definitions/StructureMap"
        },
        {
          "$ref": "#/definitions/Subscription"
        },
        {
          "$ref": "#/definitions/Substance"
        },
        {
          "$ref": "#/definitions/SubstancePolymer"
        },
        {
          "$ref": "#/definitions/SubstanceReferenceInformation"
        },
        {
          "$ref": "#/definitions/SubstanceSpecification"
        },
        {
          "$ref": "#/definitions/SupplyDelivery"
        },
        {
          "$ref": "#/definitions/SupplyRequest"
        },
        {
          "$ref": "#/definitions/Task"
        },
        {
          "$ref": "#/definitions/TerminologyCapabilities"
        },
        {
          "$ref": "#/definitions/TestReport"
        },
        {
          "$ref": "#/definitions/TestScript"
        },
        {
          "$ref": "#/definitions/UserSession"
        },
        {
          "$ref": "#/definitions/ValueSet"
        },
        {
          "$ref": "#/definitions/VerificationResult"
        },
        {
          "$ref": "#/definitions/VisionPrescription"
        }
      ]
    },
    "base64Binary": {
      "type": "string",
      "description": "A stream of bytes"
    },
    "boolean": {
      "pattern": "true|false",
      "type": "boolean",
      "description": "Value of \"true\" or \"false\""
    },
    "code": {
      "pattern": "[^\\s]+(\\s[^\\s]+)*",
      "type": "string",
      "description": "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents"
    },
    "date": {
      "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
      "type": "string",
      "description": "A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates."
    },
    "dateTime": {
      "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
      "type": "string",
      "description": "A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL be valid dates."
    },
    "decimal": {
      "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
      "type": "number",
      "description": "A rational number with implicit precision"
    },
    "id": {
      "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
      "type": "string",
      "description": "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters.  (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive."
    },
    "instant": {
      "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
      "type": "string",
      "description": "An instant in time - known at least to the second"
    },
    "integer": {
      "pattern": "-?([0]|([1-9][0-9]*))",
      "type": "number",
      "description": "A whole number"
    },
    "markdown": {
      "pattern": "\\s*(\\S|\\s)*",
      "type": "string",
      "description": "A string that may contain markdown syntax for optional processing by a mark down presentation engine"
    },
    "oid": {
      "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
      "type": "string",
      "description": "An OID represented as a URI"
    },
    "positiveInt": {
      "pattern": "[1-9][0-9]*",
      "type": "number",
      "description": "An integer with a value that is positive (e.g. \u003e0)"
    },
    "string": {
      "pattern": "\\s*(\\S|\\s)*",
      "type": "string",
      "description": "A sequence of Unicode characters"
    },
    "time": {
      "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
      "type": "string",
      "description": "A time during the day, with no date specified"
    },
    "unsignedInt": {
      "pattern": "[0]|([1-9][0-9]*)",
      "type": "number",
      "description": "An integer with a value that is not negative (e.g. \u003e\u003d 0)"
    },
    "uri": {
      "pattern": "\\S*",
      "type": "string",
      "description": "String of characters used to identify a name or a resource"
    },
    "uuid": {
      "pattern": "urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
      "type": "string",
      "description": "A UUID, represented as a URI"
    },
    "xhtml": {
      "description": "xhtml - escaped html (see specfication)"
    },
    "Element": {
      "description": "Base definition for all elements in a resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Extension": {
      "description": "Optional Extension Element - found in all resources.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "Source of the definition for the extension code - a logical name or a URL.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "valueBoolean": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueDecimal": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_valueDecimal": {
          "description": "Extensions for valueDecimal",
          "$ref": "#/definitions/Element"
        },
        "valueBase64Binary": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_valueBase64Binary": {
          "description": "Extensions for valueBase64Binary",
          "$ref": "#/definitions/Element"
        },
        "valueInstant": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_valueInstant": {
          "description": "Extensions for valueInstant",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueUri": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueUri": {
          "description": "Extensions for valueUri",
          "$ref": "#/definitions/Element"
        },
        "valueDate": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_valueDate": {
          "description": "Extensions for valueDate",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        },
        "valueTime": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_valueTime": {
          "description": "Extensions for valueTime",
          "$ref": "#/definitions/Element"
        },
        "valueCode": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_valueCode": {
          "description": "Extensions for valueCode",
          "$ref": "#/definitions/Element"
        },
        "valueOid": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
          "type": "string"
        },
        "_valueOid": {
          "description": "Extensions for valueOid",
          "$ref": "#/definitions/Element"
        },
        "valueId": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_valueId": {
          "description": "Extensions for valueId",
          "$ref": "#/definitions/Element"
        },
        "valueUnsignedInt": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_valueUnsignedInt": {
          "description": "Extensions for valueUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "valuePositiveInt": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_valuePositiveInt": {
          "description": "Extensions for valuePositiveInt",
          "$ref": "#/definitions/Element"
        },
        "valueMarkdown": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueMarkdown": {
          "description": "Extensions for valueMarkdown",
          "$ref": "#/definitions/Element"
        },
        "valueAnnotation": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Annotation"
        },
        "valueAttachment": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Attachment"
        },
        "valueIdentifier": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Identifier"
        },
        "valueCodeableConcept": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueCoding": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Coding"
        },
        "valueQuantity": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Quantity"
        },
        "valueRange": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Range"
        },
        "valuePeriod": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Period"
        },
        "valueRatio": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Ratio"
        },
        "valueSampledData": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/SampledData"
        },
        "valueSignature": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Signature"
        },
        "valueHumanName": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/HumanName"
        },
        "valueAddress": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Address"
        },
        "valueContactPoint": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/ContactPoint"
        },
        "valueTiming": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Timing"
        },
        "valueReference": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Reference"
        },
        "valueMeta": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Meta"
        },
        "valueDosage": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Dosage"
        },
        "valueContactDetail": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/ContactDetail"
        },
        "valueContributor": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/Contributor"
        },
        "valueDataRequirement": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/DataRequirement"
        },
        "valueParameterDefinition": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/ParameterDefinition"
        },
        "valueRelatedArtifact": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/RelatedArtifact"
        },
        "valueTriggerDefinition": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/TriggerDefinition"
        },
        "valueUsageContext": {
          "description": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
          "$ref": "#/definitions/UsageContext"
        }
      },
      "additionalProperties": false
    },
    "Narrative": {
      "description": "A human-readable formatted text, including images.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the narrative - whether it\u0027s entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data.",
          "enum": [
            "generated",
            "extensions",
            "additional",
            "empty"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "div": {
          "description": "The actual narrative content, a stripped down version of XHTML.",
          "$ref": "#/definitions/xhtml"
        }
      },
      "additionalProperties": false,
      "required": [
        "div"
      ]
    },
    "Annotation": {
      "description": "A  text note which also  contains information about who made the statement and when.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "authorReference": {
          "description": "The individual responsible for making the annotation.",
          "$ref": "#/definitions/Reference"
        },
        "authorString": {
          "description": "The individual responsible for making the annotation.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_authorString": {
          "description": "Extensions for authorString",
          "$ref": "#/definitions/Element"
        },
        "time": {
          "description": "Indicates when this particular annotation was made.",
          "$ref": "#/definitions/dateTime"
        },
        "_time": {
          "description": "Extensions for time",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "The text of the annotation.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Attachment": {
      "description": "For referring to data content defined in other formats.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "contentType": {
          "description": "Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.",
          "$ref": "#/definitions/code"
        },
        "_contentType": {
          "description": "Extensions for contentType",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The human language of the content. The value can be any valid value according to BCP 47.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "data": {
          "description": "The actual data of the attachment - a sequence of bytes. In XML, represented using base64.",
          "$ref": "#/definitions/base64Binary"
        },
        "_data": {
          "description": "Extensions for data",
          "$ref": "#/definitions/Element"
        },
        "url": {
          "description": "An alternative location where the data can be accessed.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "size": {
          "description": "The number of bytes of data that make up this attachment (before base64 encoding, if that is done).",
          "$ref": "#/definitions/unsignedInt"
        },
        "_size": {
          "description": "Extensions for size",
          "$ref": "#/definitions/Element"
        },
        "hash": {
          "description": "The calculated hash of the data using SHA-1. Represented using base64.",
          "$ref": "#/definitions/base64Binary"
        },
        "_hash": {
          "description": "Extensions for hash",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A label or set of text to display in place of the data.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "creation": {
          "description": "The date that the attachment was first created.",
          "$ref": "#/definitions/dateTime"
        },
        "_creation": {
          "description": "Extensions for creation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Identifier": {
      "description": "A technical identifier - identifies some entity uniquely and unambiguously.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "use": {
          "description": "The purpose of this identifier.",
          "enum": [
            "usual",
            "official",
            "temp",
            "secondary",
            "old"
          ]
        },
        "_use": {
          "description": "Extensions for use",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "system": {
          "description": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "Time period during which identifier is/was valid for use.",
          "$ref": "#/definitions/Period"
        },
        "assigner": {
          "description": "Organization that issued/manages the identifier.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "CodeableConcept": {
      "description": "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "coding": {
          "description": "A reference to a code defined by a terminology system.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "text": {
          "description": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Coding": {
      "description": "A reference to a code defined by a terminology system.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "system": {
          "description": "The identification of the code system that defines the meaning of the symbol in the code.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "A representation of the meaning of the code in the system, following the rules of the system.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        },
        "userSelected": {
          "description": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
          "$ref": "#/definitions/boolean"
        },
        "_userSelected": {
          "description": "Extensions for userSelected",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Quantity": {
      "description": "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "value": {
          "description": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.",
          "$ref": "#/definitions/decimal"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "comparator": {
          "description": "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"\u003c\" , then the real value is \u003c stated value.",
          "enum": [
            "\u003c",
            "\u003c\u003d",
            "\u003e\u003d",
            "\u003e"
          ]
        },
        "_comparator": {
          "description": "Extensions for comparator",
          "$ref": "#/definitions/Element"
        },
        "unit": {
          "description": "A human-readable form of the unit.",
          "$ref": "#/definitions/string"
        },
        "_unit": {
          "description": "Extensions for unit",
          "$ref": "#/definitions/Element"
        },
        "system": {
          "description": "The identification of the system that provides the coded form of the unit.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A computer processable form of the unit in some unit representation system.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Duration": {
      "description": "A length of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "value": {
          "description": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.",
          "$ref": "#/definitions/decimal"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "comparator": {
          "description": "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"\u003c\" , then the real value is \u003c stated value.",
          "enum": [
            "\u003c",
            "\u003c\u003d",
            "\u003e\u003d",
            "\u003e"
          ]
        },
        "_comparator": {
          "description": "Extensions for comparator",
          "$ref": "#/definitions/Element"
        },
        "unit": {
          "description": "A human-readable form of the unit.",
          "$ref": "#/definitions/string"
        },
        "_unit": {
          "description": "Extensions for unit",
          "$ref": "#/definitions/Element"
        },
        "system": {
          "description": "The identification of the system that provides the coded form of the unit.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A computer processable form of the unit in some unit representation system.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Distance": {
      "description": "A length - a value with a unit that is a physical distance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "value": {
          "description": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.",
          "$ref": "#/definitions/decimal"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "comparator": {
          "description": "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"\u003c\" , then the real value is \u003c stated value.",
          "enum": [
            "\u003c",
            "\u003c\u003d",
            "\u003e\u003d",
            "\u003e"
          ]
        },
        "_comparator": {
          "description": "Extensions for comparator",
          "$ref": "#/definitions/Element"
        },
        "unit": {
          "description": "A human-readable form of the unit.",
          "$ref": "#/definitions/string"
        },
        "_unit": {
          "description": "Extensions for unit",
          "$ref": "#/definitions/Element"
        },
        "system": {
          "description": "The identification of the system that provides the coded form of the unit.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A computer processable form of the unit in some unit representation system.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Count": {
      "description": "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "value": {
          "description": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.",
          "$ref": "#/definitions/decimal"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "comparator": {
          "description": "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"\u003c\" , then the real value is \u003c stated value.",
          "enum": [
            "\u003c",
            "\u003c\u003d",
            "\u003e\u003d",
            "\u003e"
          ]
        },
        "_comparator": {
          "description": "Extensions for comparator",
          "$ref": "#/definitions/Element"
        },
        "unit": {
          "description": "A human-readable form of the unit.",
          "$ref": "#/definitions/string"
        },
        "_unit": {
          "description": "Extensions for unit",
          "$ref": "#/definitions/Element"
        },
        "system": {
          "description": "The identification of the system that provides the coded form of the unit.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A computer processable form of the unit in some unit representation system.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Money": {
      "description": "An amount of economic utility in some recognized currency.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "value": {
          "description": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.",
          "$ref": "#/definitions/decimal"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "comparator": {
          "description": "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"\u003c\" , then the real value is \u003c stated value.",
          "enum": [
            "\u003c",
            "\u003c\u003d",
            "\u003e\u003d",
            "\u003e"
          ]
        },
        "_comparator": {
          "description": "Extensions for comparator",
          "$ref": "#/definitions/Element"
        },
        "unit": {
          "description": "A human-readable form of the unit.",
          "$ref": "#/definitions/string"
        },
        "_unit": {
          "description": "Extensions for unit",
          "$ref": "#/definitions/Element"
        },
        "system": {
          "description": "The identification of the system that provides the coded form of the unit.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A computer processable form of the unit in some unit representation system.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Age": {
      "description": "A duration of time during which an organism (or a process) has existed.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "value": {
          "description": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.",
          "$ref": "#/definitions/decimal"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "comparator": {
          "description": "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"\u003c\" , then the real value is \u003c stated value.",
          "enum": [
            "\u003c",
            "\u003c\u003d",
            "\u003e\u003d",
            "\u003e"
          ]
        },
        "_comparator": {
          "description": "Extensions for comparator",
          "$ref": "#/definitions/Element"
        },
        "unit": {
          "description": "A human-readable form of the unit.",
          "$ref": "#/definitions/string"
        },
        "_unit": {
          "description": "Extensions for unit",
          "$ref": "#/definitions/Element"
        },
        "system": {
          "description": "The identification of the system that provides the coded form of the unit.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A computer processable form of the unit in some unit representation system.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Range": {
      "description": "A set of ordered Quantities defined by a low and high limit.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "low": {
          "description": "The low limit. The boundary is inclusive.",
          "$ref": "#/definitions/Quantity"
        },
        "high": {
          "description": "The high limit. The boundary is inclusive.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false
    },
    "Period": {
      "description": "A time period defined by a start and end date and optionally time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "start": {
          "description": "The start of the period. The boundary is inclusive.",
          "$ref": "#/definitions/dateTime"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "end": {
          "description": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
          "$ref": "#/definitions/dateTime"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Ratio": {
      "description": "A relationship of two Quantity values - expressed as a numerator and a denominator.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "numerator": {
          "description": "The value of the numerator.",
          "$ref": "#/definitions/Quantity"
        },
        "denominator": {
          "description": "The value of the denominator.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false
    },
    "Reference": {
      "description": "A reference from one resource to another.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "reference": {
          "description": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with \u0027#\u0027) refer to contained resources.",
          "$ref": "#/definitions/string"
        },
        "_reference": {
          "description": "Extensions for reference",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
          "$ref": "#/definitions/Identifier"
        },
        "display": {
          "description": "Plain text narrative that identifies the resource in addition to the resource reference.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "SampledData": {
      "description": "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "origin": {
          "description": "The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series.",
          "$ref": "#/definitions/Quantity"
        },
        "period": {
          "description": "The length of time between sampling times, measured in milliseconds.",
          "$ref": "#/definitions/decimal"
        },
        "_period": {
          "description": "Extensions for period",
          "$ref": "#/definitions/Element"
        },
        "factor": {
          "description": "A correction factor that is applied to the sampled data points before they are added to the origin.",
          "$ref": "#/definitions/decimal"
        },
        "_factor": {
          "description": "Extensions for factor",
          "$ref": "#/definitions/Element"
        },
        "lowerLimit": {
          "description": "The lower limit of detection of the measured points. This is needed if any of the data points have the value \"L\" (lower than detection limit).",
          "$ref": "#/definitions/decimal"
        },
        "_lowerLimit": {
          "description": "Extensions for lowerLimit",
          "$ref": "#/definitions/Element"
        },
        "upperLimit": {
          "description": "The upper limit of detection of the measured points. This is needed if any of the data points have the value \"U\" (higher than detection limit).",
          "$ref": "#/definitions/decimal"
        },
        "_upperLimit": {
          "description": "Extensions for upperLimit",
          "$ref": "#/definitions/Element"
        },
        "dimensions": {
          "description": "The number of sample points at each time point. If this value is greater than one, then the dimensions will be interlaced - all the sample points for a point in time will be recorded at once.",
          "$ref": "#/definitions/positiveInt"
        },
        "_dimensions": {
          "description": "Extensions for dimensions",
          "$ref": "#/definitions/Element"
        },
        "data": {
          "description": "A series of data points which are decimal values separated by a single space (character u20). The special values \"E\" (error), \"L\" (below detection limit) and \"U\" (above detection limit) can also be used in place of a decimal value.",
          "$ref": "#/definitions/string"
        },
        "_data": {
          "description": "Extensions for data",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "origin"
      ]
    },
    "Signature": {
      "description": "A digital signature along with supporting context. The signature may be electronic/cryptographic in nature, or a graphical image representing a hand-written signature, or a signature process. Different signature approaches have different utilities.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "An indication of the reason that the entity signed this document. This may be explicitly included as part of the signature information and can be used when determining accountability for various actions concerning the document.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "when": {
          "description": "When the digital signature was signed.",
          "$ref": "#/definitions/instant"
        },
        "_when": {
          "description": "Extensions for when",
          "$ref": "#/definitions/Element"
        },
        "whoUri": {
          "description": "A reference to an application-usable description of the identity that signed  (e.g. the signature used their private key).",
          "pattern": "\\S*",
          "type": "string"
        },
        "_whoUri": {
          "description": "Extensions for whoUri",
          "$ref": "#/definitions/Element"
        },
        "whoReference": {
          "description": "A reference to an application-usable description of the identity that signed  (e.g. the signature used their private key).",
          "$ref": "#/definitions/Reference"
        },
        "onBehalfOfUri": {
          "description": "A reference to an application-usable description of the identity that is represented by the signature.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_onBehalfOfUri": {
          "description": "Extensions for onBehalfOfUri",
          "$ref": "#/definitions/Element"
        },
        "onBehalfOfReference": {
          "description": "A reference to an application-usable description of the identity that is represented by the signature.",
          "$ref": "#/definitions/Reference"
        },
        "targetFormat": {
          "description": "A mime type that indicates the technical format of the target resources signed by the signature.",
          "$ref": "#/definitions/code"
        },
        "_targetFormat": {
          "description": "Extensions for targetFormat",
          "$ref": "#/definitions/Element"
        },
        "sigFormat": {
          "description": "A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jose for JWS, and image/* for a graphical image of a signature, etc.",
          "$ref": "#/definitions/code"
        },
        "_sigFormat": {
          "description": "Extensions for sigFormat",
          "$ref": "#/definitions/Element"
        },
        "blob": {
          "description": "The base64 encoding of the Signature content. When signature is not recorded electronically this element would be empty.",
          "$ref": "#/definitions/base64Binary"
        },
        "_blob": {
          "description": "Extensions for blob",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "HumanName": {
      "description": "A human\u0027s name with the ability to identify parts and usage.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "use": {
          "description": "Identifies the purpose for this name.",
          "enum": [
            "usual",
            "official",
            "temp",
            "nickname",
            "anonymous",
            "old",
            "maiden"
          ]
        },
        "_use": {
          "description": "Extensions for use",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A full text representation of the name.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        },
        "family": {
          "description": "The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.",
          "$ref": "#/definitions/string"
        },
        "_family": {
          "description": "Extensions for family",
          "$ref": "#/definitions/Element"
        },
        "given": {
          "description": "Given name.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_given": {
          "description": "Extensions for given",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "prefix": {
          "description": "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_prefix": {
          "description": "Extensions for prefix",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "suffix": {
          "description": "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_suffix": {
          "description": "Extensions for suffix",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "period": {
          "description": "Indicates the period of time when this name was valid for the named person.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "Address": {
      "description": "An address expressed using postal conventions (as opposed to GPS or other location definition formats).  This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery.  There are a variety of postal address formats defined around the world.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "use": {
          "description": "The purpose of this address.",
          "enum": [
            "home",
            "work",
            "temp",
            "old",
            "billing"
          ]
        },
        "_use": {
          "description": "Extensions for use",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.",
          "enum": [
            "postal",
            "physical",
            "both"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A full text representation of the address.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        },
        "line": {
          "description": "This component contains the house number, apartment number, street name, street direction,  P.O. Box number, delivery hints, and similar address information.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_line": {
          "description": "Extensions for line",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "city": {
          "description": "The name of the city, town, village or other community or delivery center.",
          "$ref": "#/definitions/string"
        },
        "_city": {
          "description": "Extensions for city",
          "$ref": "#/definitions/Element"
        },
        "district": {
          "description": "The name of the administrative area (county).",
          "$ref": "#/definitions/string"
        },
        "_district": {
          "description": "Extensions for district",
          "$ref": "#/definitions/Element"
        },
        "state": {
          "description": "Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).",
          "$ref": "#/definitions/string"
        },
        "_state": {
          "description": "Extensions for state",
          "$ref": "#/definitions/Element"
        },
        "postalCode": {
          "description": "A postal code designating a region defined by the postal service.",
          "$ref": "#/definitions/string"
        },
        "_postalCode": {
          "description": "Extensions for postalCode",
          "$ref": "#/definitions/Element"
        },
        "country": {
          "description": "Country - a nation as commonly understood or generally accepted.",
          "$ref": "#/definitions/string"
        },
        "_country": {
          "description": "Extensions for country",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "Time period when address was/is in use.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "ContactPoint": {
      "description": "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "system": {
          "description": "Telecommunications form for contact point - what communications system is required to make use of the contact.",
          "enum": [
            "phone",
            "fax",
            "email",
            "pager",
            "url",
            "sms",
            "other"
          ]
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "use": {
          "description": "Identifies the purpose for the contact point.",
          "enum": [
            "home",
            "work",
            "temp",
            "old",
            "mobile"
          ]
        },
        "_use": {
          "description": "Extensions for use",
          "$ref": "#/definitions/Element"
        },
        "rank": {
          "description": "Specifies a preferred order in which to use a set of contacts. Contacts are ranked with lower values coming before higher values.",
          "$ref": "#/definitions/positiveInt"
        },
        "_rank": {
          "description": "Extensions for rank",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "Time period when the contact point was/is in use.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "Timing": {
      "description": "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "event": {
          "description": "Identifies specific times when the event occurs.",
          "items": {
            "$ref": "#/definitions/dateTime"
          },
          "type": "array"
        },
        "_event": {
          "description": "Extensions for event",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "repeat": {
          "description": "A set of rules that describe when the event is scheduled.",
          "$ref": "#/definitions/Timing_Repeat"
        },
        "code": {
          "description": "A code for the timing schedule (or just text in code.text). Some codes such as BID are ubiquitous, but many institutions define their own additional codes. If a code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data, and either the code or the data may be used to interpret the Timing, with the exception that .repeat.bounds still applies over the code (and is not contained in the code).",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "Timing_Repeat": {
      "description": "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "boundsDuration": {
          "description": "Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule.",
          "$ref": "#/definitions/Duration"
        },
        "boundsRange": {
          "description": "Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule.",
          "$ref": "#/definitions/Range"
        },
        "boundsPeriod": {
          "description": "Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule.",
          "$ref": "#/definitions/Period"
        },
        "count": {
          "description": "A total count of the desired number of repetitions across the duration of the entire timing specification.",
          "$ref": "#/definitions/integer"
        },
        "_count": {
          "description": "Extensions for count",
          "$ref": "#/definitions/Element"
        },
        "countMax": {
          "description": "A maximum value for the count of the desired repetitions (e.g. do something 6-8 times).",
          "$ref": "#/definitions/integer"
        },
        "_countMax": {
          "description": "Extensions for countMax",
          "$ref": "#/definitions/Element"
        },
        "duration": {
          "description": "How long this thing happens for when it happens.",
          "$ref": "#/definitions/decimal"
        },
        "_duration": {
          "description": "Extensions for duration",
          "$ref": "#/definitions/Element"
        },
        "durationMax": {
          "description": "The upper limit of how long this thing happens for when it happens.",
          "$ref": "#/definitions/decimal"
        },
        "_durationMax": {
          "description": "Extensions for durationMax",
          "$ref": "#/definitions/Element"
        },
        "durationUnit": {
          "description": "The units of time for the duration, in UCUM units.",
          "enum": [
            "s",
            "min",
            "h",
            "d",
            "wk",
            "mo",
            "a"
          ]
        },
        "_durationUnit": {
          "description": "Extensions for durationUnit",
          "$ref": "#/definitions/Element"
        },
        "frequency": {
          "description": "The number of times to repeat the action within the specified period / period range (i.e. both period and periodMax provided).",
          "$ref": "#/definitions/integer"
        },
        "_frequency": {
          "description": "Extensions for frequency",
          "$ref": "#/definitions/Element"
        },
        "frequencyMax": {
          "description": "If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range.",
          "$ref": "#/definitions/integer"
        },
        "_frequencyMax": {
          "description": "Extensions for frequencyMax",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "Indicates the duration of time over which repetitions are to occur; e.g. to express \"3 times per day\", 3 would be the frequency and \"1 day\" would be the period.",
          "$ref": "#/definitions/decimal"
        },
        "_period": {
          "description": "Extensions for period",
          "$ref": "#/definitions/Element"
        },
        "periodMax": {
          "description": "If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as \"do this once every 3-5 days.",
          "$ref": "#/definitions/decimal"
        },
        "_periodMax": {
          "description": "Extensions for periodMax",
          "$ref": "#/definitions/Element"
        },
        "periodUnit": {
          "description": "The units of time for the period in UCUM units.",
          "enum": [
            "s",
            "min",
            "h",
            "d",
            "wk",
            "mo",
            "a"
          ]
        },
        "_periodUnit": {
          "description": "Extensions for periodUnit",
          "$ref": "#/definitions/Element"
        },
        "dayOfWeek": {
          "description": "If one or more days of week is provided, then the action happens only on the specified day(s).",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_dayOfWeek": {
          "description": "Extensions for dayOfWeek",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "timeOfDay": {
          "description": "Specified time of day for action to take place.",
          "items": {
            "$ref": "#/definitions/time"
          },
          "type": "array"
        },
        "_timeOfDay": {
          "description": "Extensions for timeOfDay",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "when": {
          "description": "An approximate time period during the day, potentially linked to an event of daily living that indicates when the action should occur.",
          "items": {
            "enum": [
              "MORN",
              "MORN.early",
              "MORN.late",
              "NOON",
              "AFT",
              "AFT.early",
              "AFT.late",
              "EVE",
              "EVE.early",
              "EVE.late",
              "NIGHT",
              "PHS",
              "HS",
              "WAKE",
              "C",
              "CM",
              "CD",
              "CV",
              "AC",
              "ACM",
              "ACD",
              "ACV",
              "PC",
              "PCM",
              "PCD",
              "PCV"
            ]
          },
          "type": "array"
        },
        "_when": {
          "description": "Extensions for when",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "offset": {
          "description": "The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_offset": {
          "description": "Extensions for offset",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Meta": {
      "description": "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "versionId": {
          "description": "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.",
          "$ref": "#/definitions/id"
        },
        "_versionId": {
          "description": "Extensions for versionId",
          "$ref": "#/definitions/Element"
        },
        "lastUpdated": {
          "description": "When the resource last changed - e.g. when the version changed.",
          "$ref": "#/definitions/instant"
        },
        "_lastUpdated": {
          "description": "Extensions for lastUpdated",
          "$ref": "#/definitions/Element"
        },
        "source": {
          "description": "A uri that identifies the source system of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.",
          "$ref": "#/definitions/uri"
        },
        "_source": {
          "description": "Extensions for source",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_profile": {
          "description": "Extensions for profile",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "security": {
          "description": "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "tag": {
          "description": "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ElementDefinition": {
      "description": "Captures constraints on each element within the resource, profile, or extension.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "path": {
          "description": "The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource or extension.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        },
        "representation": {
          "description": "Codes that define how this element is represented in instances, when the deviation varies from the normal case.",
          "items": {
            "enum": [
              "xmlAttr",
              "xmlText",
              "typeAttr",
              "cdaText",
              "xhtml"
            ]
          },
          "type": "array"
        },
        "_representation": {
          "description": "Extensions for representation",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "sliceName": {
          "description": "The name of this element definition slice, when slicing is working. The name must be a token with no dots or spaces. This is a unique name referring to a specific set of constraints applied to this element, used to provide a name to different slices of the same element.",
          "$ref": "#/definitions/string"
        },
        "_sliceName": {
          "description": "Extensions for sliceName",
          "$ref": "#/definitions/Element"
        },
        "label": {
          "description": "A single preferred label which is the text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form.",
          "$ref": "#/definitions/string"
        },
        "_label": {
          "description": "Extensions for label",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A code that has the same meaning as the element in a particular terminology.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "slicing": {
          "description": "Indicates that the element is sliced into a set of alternative definitions (i.e. in a structure definition, there are multiple different constraints on a single element in the base resource). Slicing can be used in any resource that has cardinality ..* on the base resource, or any resource with a choice of types. The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set).",
          "$ref": "#/definitions/ElementDefinition_Slicing"
        },
        "short": {
          "description": "A concise description of what this element means (e.g. for use in autogenerated summaries).",
          "$ref": "#/definitions/string"
        },
        "_short": {
          "description": "Extensions for short",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "Provides a complete explanation of the meaning of the data element for human readability.  For the case of elements derived from existing elements (e.g. constraints), the definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource.",
          "$ref": "#/definitions/markdown"
        },
        "_definition": {
          "description": "Extensions for definition",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Explanatory notes and implementation guidance about the data element, including notes about how to use the data properly, exceptions to proper use, etc.",
          "$ref": "#/definitions/markdown"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "requirements": {
          "description": "This element is for traceability of why the element was created and why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this element.",
          "$ref": "#/definitions/markdown"
        },
        "_requirements": {
          "description": "Extensions for requirements",
          "$ref": "#/definitions/Element"
        },
        "alias": {
          "description": "Identifies additional names by which this element might also be known.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_alias": {
          "description": "Extensions for alias",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "min": {
          "description": "The minimum number of times this element SHALL appear in the instance.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_min": {
          "description": "Extensions for min",
          "$ref": "#/definitions/Element"
        },
        "max": {
          "description": "The maximum number of times this element is permitted to appear in the instance.",
          "$ref": "#/definitions/string"
        },
        "_max": {
          "description": "Extensions for max",
          "$ref": "#/definitions/Element"
        },
        "base": {
          "description": "Information about the base definition of the element, provided to make it unnecessary for tools to trace the deviation of the element through the derived and related profiles. This information is provided when the element definition is not the original definition of an element - i.g. either in a constraint on another type, or for elements from a super type in a snap shot.",
          "$ref": "#/definitions/ElementDefinition_Base"
        },
        "contentReference": {
          "description": "Identifies the identity of an element defined elsewhere in the profile whose content rules should be applied to the current element.",
          "$ref": "#/definitions/uri"
        },
        "_contentReference": {
          "description": "Extensions for contentReference",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The data type or resource that the value of this element is permitted to be.",
          "items": {
            "$ref": "#/definitions/ElementDefinition_Type"
          },
          "type": "array"
        },
        "defaultValueBoolean": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_defaultValueBoolean": {
          "description": "Extensions for defaultValueBoolean",
          "$ref": "#/definitions/Element"
        },
        "defaultValueInteger": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_defaultValueInteger": {
          "description": "Extensions for defaultValueInteger",
          "$ref": "#/definitions/Element"
        },
        "defaultValueDecimal": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_defaultValueDecimal": {
          "description": "Extensions for defaultValueDecimal",
          "$ref": "#/definitions/Element"
        },
        "defaultValueBase64Binary": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_defaultValueBase64Binary": {
          "description": "Extensions for defaultValueBase64Binary",
          "$ref": "#/definitions/Element"
        },
        "defaultValueInstant": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_defaultValueInstant": {
          "description": "Extensions for defaultValueInstant",
          "$ref": "#/definitions/Element"
        },
        "defaultValueString": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_defaultValueString": {
          "description": "Extensions for defaultValueString",
          "$ref": "#/definitions/Element"
        },
        "defaultValueUri": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "\\S*",
          "type": "string"
        },
        "_defaultValueUri": {
          "description": "Extensions for defaultValueUri",
          "$ref": "#/definitions/Element"
        },
        "defaultValueDate": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_defaultValueDate": {
          "description": "Extensions for defaultValueDate",
          "$ref": "#/definitions/Element"
        },
        "defaultValueDateTime": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_defaultValueDateTime": {
          "description": "Extensions for defaultValueDateTime",
          "$ref": "#/definitions/Element"
        },
        "defaultValueTime": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_defaultValueTime": {
          "description": "Extensions for defaultValueTime",
          "$ref": "#/definitions/Element"
        },
        "defaultValueCode": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_defaultValueCode": {
          "description": "Extensions for defaultValueCode",
          "$ref": "#/definitions/Element"
        },
        "defaultValueOid": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
          "type": "string"
        },
        "_defaultValueOid": {
          "description": "Extensions for defaultValueOid",
          "$ref": "#/definitions/Element"
        },
        "defaultValueId": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_defaultValueId": {
          "description": "Extensions for defaultValueId",
          "$ref": "#/definitions/Element"
        },
        "defaultValueUnsignedInt": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_defaultValueUnsignedInt": {
          "description": "Extensions for defaultValueUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "defaultValuePositiveInt": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_defaultValuePositiveInt": {
          "description": "Extensions for defaultValuePositiveInt",
          "$ref": "#/definitions/Element"
        },
        "defaultValueMarkdown": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_defaultValueMarkdown": {
          "description": "Extensions for defaultValueMarkdown",
          "$ref": "#/definitions/Element"
        },
        "defaultValueAnnotation": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Annotation"
        },
        "defaultValueAttachment": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Attachment"
        },
        "defaultValueIdentifier": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Identifier"
        },
        "defaultValueCodeableConcept": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "defaultValueCoding": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Coding"
        },
        "defaultValueQuantity": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Quantity"
        },
        "defaultValueRange": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Range"
        },
        "defaultValuePeriod": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Period"
        },
        "defaultValueRatio": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Ratio"
        },
        "defaultValueSampledData": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/SampledData"
        },
        "defaultValueSignature": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Signature"
        },
        "defaultValueHumanName": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/HumanName"
        },
        "defaultValueAddress": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Address"
        },
        "defaultValueContactPoint": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/ContactPoint"
        },
        "defaultValueTiming": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Timing"
        },
        "defaultValueReference": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Reference"
        },
        "defaultValueMeta": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Meta"
        },
        "defaultValueDosage": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Dosage"
        },
        "defaultValueContactDetail": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/ContactDetail"
        },
        "defaultValueContributor": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/Contributor"
        },
        "defaultValueDataRequirement": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/DataRequirement"
        },
        "defaultValueParameterDefinition": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/ParameterDefinition"
        },
        "defaultValueRelatedArtifact": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/RelatedArtifact"
        },
        "defaultValueTriggerDefinition": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/TriggerDefinition"
        },
        "defaultValueUsageContext": {
          "description": "The value that should be used if there is no value stated in the instance (e.g. \u0027if not otherwise specified, the abstract is false\u0027).",
          "$ref": "#/definitions/UsageContext"
        },
        "meaningWhenMissing": {
          "description": "The Implicit meaning that is to be understood when this element is missing (e.g. \u0027when this element is missing, the period is ongoing\u0027.",
          "$ref": "#/definitions/markdown"
        },
        "_meaningWhenMissing": {
          "description": "Extensions for meaningWhenMissing",
          "$ref": "#/definitions/Element"
        },
        "orderMeaning": {
          "description": "If present, indicates that the order of the repeating element has meaning and describes what that meaning is.  If absent, it means that the order of the element has no meaning.",
          "$ref": "#/definitions/string"
        },
        "_orderMeaning": {
          "description": "Extensions for orderMeaning",
          "$ref": "#/definitions/Element"
        },
        "fixedBoolean": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_fixedBoolean": {
          "description": "Extensions for fixedBoolean",
          "$ref": "#/definitions/Element"
        },
        "fixedInteger": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_fixedInteger": {
          "description": "Extensions for fixedInteger",
          "$ref": "#/definitions/Element"
        },
        "fixedDecimal": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_fixedDecimal": {
          "description": "Extensions for fixedDecimal",
          "$ref": "#/definitions/Element"
        },
        "fixedBase64Binary": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_fixedBase64Binary": {
          "description": "Extensions for fixedBase64Binary",
          "$ref": "#/definitions/Element"
        },
        "fixedInstant": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_fixedInstant": {
          "description": "Extensions for fixedInstant",
          "$ref": "#/definitions/Element"
        },
        "fixedString": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_fixedString": {
          "description": "Extensions for fixedString",
          "$ref": "#/definitions/Element"
        },
        "fixedUri": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_fixedUri": {
          "description": "Extensions for fixedUri",
          "$ref": "#/definitions/Element"
        },
        "fixedDate": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_fixedDate": {
          "description": "Extensions for fixedDate",
          "$ref": "#/definitions/Element"
        },
        "fixedDateTime": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_fixedDateTime": {
          "description": "Extensions for fixedDateTime",
          "$ref": "#/definitions/Element"
        },
        "fixedTime": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_fixedTime": {
          "description": "Extensions for fixedTime",
          "$ref": "#/definitions/Element"
        },
        "fixedCode": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_fixedCode": {
          "description": "Extensions for fixedCode",
          "$ref": "#/definitions/Element"
        },
        "fixedOid": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
          "type": "string"
        },
        "_fixedOid": {
          "description": "Extensions for fixedOid",
          "$ref": "#/definitions/Element"
        },
        "fixedId": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_fixedId": {
          "description": "Extensions for fixedId",
          "$ref": "#/definitions/Element"
        },
        "fixedUnsignedInt": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_fixedUnsignedInt": {
          "description": "Extensions for fixedUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "fixedPositiveInt": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_fixedPositiveInt": {
          "description": "Extensions for fixedPositiveInt",
          "$ref": "#/definitions/Element"
        },
        "fixedMarkdown": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_fixedMarkdown": {
          "description": "Extensions for fixedMarkdown",
          "$ref": "#/definitions/Element"
        },
        "fixedAnnotation": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Annotation"
        },
        "fixedAttachment": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Attachment"
        },
        "fixedIdentifier": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Identifier"
        },
        "fixedCodeableConcept": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "fixedCoding": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Coding"
        },
        "fixedQuantity": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Quantity"
        },
        "fixedRange": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Range"
        },
        "fixedPeriod": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Period"
        },
        "fixedRatio": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Ratio"
        },
        "fixedSampledData": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/SampledData"
        },
        "fixedSignature": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Signature"
        },
        "fixedHumanName": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/HumanName"
        },
        "fixedAddress": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Address"
        },
        "fixedContactPoint": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/ContactPoint"
        },
        "fixedTiming": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Timing"
        },
        "fixedReference": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Reference"
        },
        "fixedMeta": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Meta"
        },
        "fixedDosage": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Dosage"
        },
        "fixedContactDetail": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/ContactDetail"
        },
        "fixedContributor": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/Contributor"
        },
        "fixedDataRequirement": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/DataRequirement"
        },
        "fixedParameterDefinition": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/ParameterDefinition"
        },
        "fixedRelatedArtifact": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/RelatedArtifact"
        },
        "fixedTriggerDefinition": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/TriggerDefinition"
        },
        "fixedUsageContext": {
          "description": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
          "$ref": "#/definitions/UsageContext"
        },
        "patternBoolean": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_patternBoolean": {
          "description": "Extensions for patternBoolean",
          "$ref": "#/definitions/Element"
        },
        "patternInteger": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_patternInteger": {
          "description": "Extensions for patternInteger",
          "$ref": "#/definitions/Element"
        },
        "patternDecimal": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_patternDecimal": {
          "description": "Extensions for patternDecimal",
          "$ref": "#/definitions/Element"
        },
        "patternBase64Binary": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_patternBase64Binary": {
          "description": "Extensions for patternBase64Binary",
          "$ref": "#/definitions/Element"
        },
        "patternInstant": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_patternInstant": {
          "description": "Extensions for patternInstant",
          "$ref": "#/definitions/Element"
        },
        "patternString": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_patternString": {
          "description": "Extensions for patternString",
          "$ref": "#/definitions/Element"
        },
        "patternUri": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "\\S*",
          "type": "string"
        },
        "_patternUri": {
          "description": "Extensions for patternUri",
          "$ref": "#/definitions/Element"
        },
        "patternDate": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_patternDate": {
          "description": "Extensions for patternDate",
          "$ref": "#/definitions/Element"
        },
        "patternDateTime": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_patternDateTime": {
          "description": "Extensions for patternDateTime",
          "$ref": "#/definitions/Element"
        },
        "patternTime": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_patternTime": {
          "description": "Extensions for patternTime",
          "$ref": "#/definitions/Element"
        },
        "patternCode": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_patternCode": {
          "description": "Extensions for patternCode",
          "$ref": "#/definitions/Element"
        },
        "patternOid": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
          "type": "string"
        },
        "_patternOid": {
          "description": "Extensions for patternOid",
          "$ref": "#/definitions/Element"
        },
        "patternId": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_patternId": {
          "description": "Extensions for patternId",
          "$ref": "#/definitions/Element"
        },
        "patternUnsignedInt": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_patternUnsignedInt": {
          "description": "Extensions for patternUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "patternPositiveInt": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_patternPositiveInt": {
          "description": "Extensions for patternPositiveInt",
          "$ref": "#/definitions/Element"
        },
        "patternMarkdown": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_patternMarkdown": {
          "description": "Extensions for patternMarkdown",
          "$ref": "#/definitions/Element"
        },
        "patternAnnotation": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Annotation"
        },
        "patternAttachment": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Attachment"
        },
        "patternIdentifier": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Identifier"
        },
        "patternCodeableConcept": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "patternCoding": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Coding"
        },
        "patternQuantity": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Quantity"
        },
        "patternRange": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Range"
        },
        "patternPeriod": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Period"
        },
        "patternRatio": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Ratio"
        },
        "patternSampledData": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/SampledData"
        },
        "patternSignature": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Signature"
        },
        "patternHumanName": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/HumanName"
        },
        "patternAddress": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Address"
        },
        "patternContactPoint": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/ContactPoint"
        },
        "patternTiming": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Timing"
        },
        "patternReference": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Reference"
        },
        "patternMeta": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Meta"
        },
        "patternDosage": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Dosage"
        },
        "patternContactDetail": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/ContactDetail"
        },
        "patternContributor": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/Contributor"
        },
        "patternDataRequirement": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/DataRequirement"
        },
        "patternParameterDefinition": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/ParameterDefinition"
        },
        "patternRelatedArtifact": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/RelatedArtifact"
        },
        "patternTriggerDefinition": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/TriggerDefinition"
        },
        "patternUsageContext": {
          "description": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
          "$ref": "#/definitions/UsageContext"
        },
        "example": {
          "description": "A sample value for this element demonstrating the type of information that would typically be found in the element.",
          "items": {
            "$ref": "#/definitions/ElementDefinition_Example"
          },
          "type": "array"
        },
        "minValueDate": {
          "description": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_minValueDate": {
          "description": "Extensions for minValueDate",
          "$ref": "#/definitions/Element"
        },
        "minValueDateTime": {
          "description": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_minValueDateTime": {
          "description": "Extensions for minValueDateTime",
          "$ref": "#/definitions/Element"
        },
        "minValueInstant": {
          "description": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_minValueInstant": {
          "description": "Extensions for minValueInstant",
          "$ref": "#/definitions/Element"
        },
        "minValueTime": {
          "description": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_minValueTime": {
          "description": "Extensions for minValueTime",
          "$ref": "#/definitions/Element"
        },
        "minValueDecimal": {
          "description": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_minValueDecimal": {
          "description": "Extensions for minValueDecimal",
          "$ref": "#/definitions/Element"
        },
        "minValueInteger": {
          "description": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_minValueInteger": {
          "description": "Extensions for minValueInteger",
          "$ref": "#/definitions/Element"
        },
        "minValuePositiveInt": {
          "description": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_minValuePositiveInt": {
          "description": "Extensions for minValuePositiveInt",
          "$ref": "#/definitions/Element"
        },
        "minValueUnsignedInt": {
          "description": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_minValueUnsignedInt": {
          "description": "Extensions for minValueUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "minValueQuantity": {
          "description": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "$ref": "#/definitions/Quantity"
        },
        "maxValueDate": {
          "description": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_maxValueDate": {
          "description": "Extensions for maxValueDate",
          "$ref": "#/definitions/Element"
        },
        "maxValueDateTime": {
          "description": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_maxValueDateTime": {
          "description": "Extensions for maxValueDateTime",
          "$ref": "#/definitions/Element"
        },
        "maxValueInstant": {
          "description": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_maxValueInstant": {
          "description": "Extensions for maxValueInstant",
          "$ref": "#/definitions/Element"
        },
        "maxValueTime": {
          "description": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_maxValueTime": {
          "description": "Extensions for maxValueTime",
          "$ref": "#/definitions/Element"
        },
        "maxValueDecimal": {
          "description": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_maxValueDecimal": {
          "description": "Extensions for maxValueDecimal",
          "$ref": "#/definitions/Element"
        },
        "maxValueInteger": {
          "description": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_maxValueInteger": {
          "description": "Extensions for maxValueInteger",
          "$ref": "#/definitions/Element"
        },
        "maxValuePositiveInt": {
          "description": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_maxValuePositiveInt": {
          "description": "Extensions for maxValuePositiveInt",
          "$ref": "#/definitions/Element"
        },
        "maxValueUnsignedInt": {
          "description": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_maxValueUnsignedInt": {
          "description": "Extensions for maxValueUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "maxValueQuantity": {
          "description": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
          "$ref": "#/definitions/Quantity"
        },
        "maxLength": {
          "description": "Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element.",
          "$ref": "#/definitions/integer"
        },
        "_maxLength": {
          "description": "Extensions for maxLength",
          "$ref": "#/definitions/Element"
        },
        "condition": {
          "description": "A reference to an invariant that may make additional statements about the cardinality or value in the instance.",
          "items": {
            "$ref": "#/definitions/id"
          },
          "type": "array"
        },
        "_condition": {
          "description": "Extensions for condition",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "constraint": {
          "description": "Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.",
          "items": {
            "$ref": "#/definitions/ElementDefinition_Constraint"
          },
          "type": "array"
        },
        "mustSupport": {
          "description": "If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way.  If false, the element may be ignored and not supported.",
          "$ref": "#/definitions/boolean"
        },
        "_mustSupport": {
          "description": "Extensions for mustSupport",
          "$ref": "#/definitions/Element"
        },
        "isModifier": {
          "description": "If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system.",
          "$ref": "#/definitions/boolean"
        },
        "_isModifier": {
          "description": "Extensions for isModifier",
          "$ref": "#/definitions/Element"
        },
        "isSummary": {
          "description": "Whether the element should be included if a client requests a search with the parameter _summary\u003dtrue.",
          "$ref": "#/definitions/boolean"
        },
        "_isSummary": {
          "description": "Extensions for isSummary",
          "$ref": "#/definitions/Element"
        },
        "binding": {
          "description": "Binds to a value set if this element is coded (code, Coding, CodeableConcept, Quantity), or the data types (string, uri).",
          "$ref": "#/definitions/ElementDefinition_Binding"
        },
        "mapping": {
          "description": "Identifies a concept from an external specification that roughly corresponds to this element.",
          "items": {
            "$ref": "#/definitions/ElementDefinition_Mapping"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ElementDefinition_Slicing": {
      "description": "Captures constraints on each element within the resource, profile, or extension.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "discriminator": {
          "description": "Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices.",
          "items": {
            "$ref": "#/definitions/ElementDefinition_Discriminator"
          },
          "type": "array"
        },
        "description": {
          "description": "A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "ordered": {
          "description": "If the matching elements have to occur in the same order as defined in the profile.",
          "$ref": "#/definitions/boolean"
        },
        "_ordered": {
          "description": "Extensions for ordered",
          "$ref": "#/definitions/Element"
        },
        "rules": {
          "description": "Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end.",
          "enum": [
            "closed",
            "open",
            "openAtEnd"
          ]
        },
        "_rules": {
          "description": "Extensions for rules",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ElementDefinition_Discriminator": {
      "description": "Captures constraints on each element within the resource, profile, or extension.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "How the element value is interpreted when discrimination is evaluated.",
          "enum": [
            "value",
            "exists",
            "pattern",
            "type",
            "profile"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "path": {
          "description": "A FHIRPath expression, using a restricted subset of FHIRPath, that is used to identify the element on which discrimination is based.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ElementDefinition_Base": {
      "description": "Captures constraints on each element within the resource, profile, or extension.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "path": {
          "description": "The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [[[StructureDefinition]]] without a StructureDefinition.base.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        },
        "min": {
          "description": "Minimum cardinality of the base element identified by the path.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_min": {
          "description": "Extensions for min",
          "$ref": "#/definitions/Element"
        },
        "max": {
          "description": "Maximum cardinality of the base element identified by the path.",
          "$ref": "#/definitions/string"
        },
        "_max": {
          "description": "Extensions for max",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ElementDefinition_Type": {
      "description": "Captures constraints on each element within the resource, profile, or extension.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "URL of Data type or Resource that is a(or the) type used for this element. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition e.g. \"string\" is a reference to http://hl7.org/fhir/StructureDefinition/string. Absolute URLs are only allowed in logical models.",
          "$ref": "#/definitions/uri"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "Identifies a profile structure or implementation Guide that SHALL hold for the datatype this element refers to. Can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the type SHALL conform to at least one profile defined in the implementation guide.",
          "$ref": "#/definitions/uri"
        },
        "_profile": {
          "description": "Extensions for profile",
          "$ref": "#/definitions/Element"
        },
        "targetProfile": {
          "description": "Used when the type is \"Reference\", and Identifies a profile structure or implementation Guide that SHALL be true for the target of the reference this element refers to. Can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide.",
          "$ref": "#/definitions/uri"
        },
        "_targetProfile": {
          "description": "Extensions for targetProfile",
          "$ref": "#/definitions/Element"
        },
        "aggregation": {
          "description": "If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle.",
          "items": {
            "enum": [
              "contained",
              "referenced",
              "bundled"
            ]
          },
          "type": "array"
        },
        "_aggregation": {
          "description": "Extensions for aggregation",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "versioning": {
          "description": "Whether this reference needs to be version specific or version independent, or whether either can be used.",
          "enum": [
            "either",
            "independent",
            "specific"
          ]
        },
        "_versioning": {
          "description": "Extensions for versioning",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ElementDefinition_Example": {
      "description": "Captures constraints on each element within the resource, profile, or extension.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "label": {
          "description": "Describes the purpose of this example amoung the set of examples.",
          "$ref": "#/definitions/string"
        },
        "_label": {
          "description": "Extensions for label",
          "$ref": "#/definitions/Element"
        },
        "valueBoolean": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueDecimal": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_valueDecimal": {
          "description": "Extensions for valueDecimal",
          "$ref": "#/definitions/Element"
        },
        "valueBase64Binary": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_valueBase64Binary": {
          "description": "Extensions for valueBase64Binary",
          "$ref": "#/definitions/Element"
        },
        "valueInstant": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_valueInstant": {
          "description": "Extensions for valueInstant",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueUri": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueUri": {
          "description": "Extensions for valueUri",
          "$ref": "#/definitions/Element"
        },
        "valueDate": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_valueDate": {
          "description": "Extensions for valueDate",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        },
        "valueTime": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_valueTime": {
          "description": "Extensions for valueTime",
          "$ref": "#/definitions/Element"
        },
        "valueCode": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_valueCode": {
          "description": "Extensions for valueCode",
          "$ref": "#/definitions/Element"
        },
        "valueOid": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
          "type": "string"
        },
        "_valueOid": {
          "description": "Extensions for valueOid",
          "$ref": "#/definitions/Element"
        },
        "valueId": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_valueId": {
          "description": "Extensions for valueId",
          "$ref": "#/definitions/Element"
        },
        "valueUnsignedInt": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_valueUnsignedInt": {
          "description": "Extensions for valueUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "valuePositiveInt": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_valuePositiveInt": {
          "description": "Extensions for valuePositiveInt",
          "$ref": "#/definitions/Element"
        },
        "valueMarkdown": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueMarkdown": {
          "description": "Extensions for valueMarkdown",
          "$ref": "#/definitions/Element"
        },
        "valueAnnotation": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Annotation"
        },
        "valueAttachment": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Attachment"
        },
        "valueIdentifier": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Identifier"
        },
        "valueCodeableConcept": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueCoding": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Coding"
        },
        "valueQuantity": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Quantity"
        },
        "valueRange": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Range"
        },
        "valuePeriod": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Period"
        },
        "valueRatio": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Ratio"
        },
        "valueSampledData": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/SampledData"
        },
        "valueSignature": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Signature"
        },
        "valueHumanName": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/HumanName"
        },
        "valueAddress": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Address"
        },
        "valueContactPoint": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/ContactPoint"
        },
        "valueTiming": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Timing"
        },
        "valueReference": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Reference"
        },
        "valueMeta": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Meta"
        },
        "valueDosage": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Dosage"
        },
        "valueContactDetail": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/ContactDetail"
        },
        "valueContributor": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/Contributor"
        },
        "valueDataRequirement": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/DataRequirement"
        },
        "valueParameterDefinition": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/ParameterDefinition"
        },
        "valueRelatedArtifact": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/RelatedArtifact"
        },
        "valueTriggerDefinition": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/TriggerDefinition"
        },
        "valueUsageContext": {
          "description": "The actual value for the element, which must be one of the types allowed for this element.",
          "$ref": "#/definitions/UsageContext"
        }
      },
      "additionalProperties": false
    },
    "ElementDefinition_Constraint": {
      "description": "Captures constraints on each element within the resource, profile, or extension.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "key": {
          "description": "Allows identification of which elements have their cardinalities impacted by the constraint.  Will not be referenced for constraints that do not affect cardinality.",
          "$ref": "#/definitions/id"
        },
        "_key": {
          "description": "Extensions for key",
          "$ref": "#/definitions/Element"
        },
        "requirements": {
          "description": "Description of why this constraint is necessary or appropriate.",
          "$ref": "#/definitions/string"
        },
        "_requirements": {
          "description": "Extensions for requirements",
          "$ref": "#/definitions/Element"
        },
        "severity": {
          "description": "Identifies the impact constraint violation has on the conformance of the instance.",
          "enum": [
            "error",
            "warning"
          ]
        },
        "_severity": {
          "description": "Extensions for severity",
          "$ref": "#/definitions/Element"
        },
        "human": {
          "description": "Text that can be used to describe the constraint in messages identifying that the constraint has been violated.",
          "$ref": "#/definitions/string"
        },
        "_human": {
          "description": "Extensions for human",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "A [FHIRPath](http://hl7.org/fluentpath) expression of constraint that can be executed to see if this constraint is met.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        },
        "xpath": {
          "description": "An XPath expression of constraint that can be executed to see if this constraint is met.",
          "$ref": "#/definitions/string"
        },
        "_xpath": {
          "description": "Extensions for xpath",
          "$ref": "#/definitions/Element"
        },
        "source": {
          "description": "A reference to the original source of the constraint, for traceability purposes.",
          "$ref": "#/definitions/uri"
        },
        "_source": {
          "description": "Extensions for source",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ElementDefinition_Binding": {
      "description": "Captures constraints on each element within the resource, profile, or extension.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "strength": {
          "description": "Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances.",
          "enum": [
            "required",
            "extensible",
            "preferred",
            "example"
          ]
        },
        "_strength": {
          "description": "Extensions for strength",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Describes the intended use of this particular set of codes.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "valueSetUri": {
          "description": "Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used. If the binding refers to an explicit value set - the normal case - then use a Reference(ValueSet) preferably containing the canonical URL for the value set. If the reference is to an implicit value set - usually, an IETF RFC that defines a grammar, such as mime types - then use a uri.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueSetUri": {
          "description": "Extensions for valueSetUri",
          "$ref": "#/definitions/Element"
        },
        "valueSetReference": {
          "description": "Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used. If the binding refers to an explicit value set - the normal case - then use a Reference(ValueSet) preferably containing the canonical URL for the value set. If the reference is to an implicit value set - usually, an IETF RFC that defines a grammar, such as mime types - then use a uri.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "ElementDefinition_Mapping": {
      "description": "Captures constraints on each element within the resource, profile, or extension.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identity": {
          "description": "An internal reference to the definition of a mapping.",
          "$ref": "#/definitions/id"
        },
        "_identity": {
          "description": "Extensions for identity",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "Identifies the computable language in which mapping.map is expressed.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "map": {
          "description": "Expresses what part of the target specification corresponds to this element.",
          "$ref": "#/definitions/string"
        },
        "_map": {
          "description": "Extensions for map",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Comments that provide information about the mapping or its use.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ContactDetail": {
      "description": "Specifies contact information for a person or organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of an individual to contact.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "telecom": {
          "description": "The contact details for the individual (if a name was provided) or the organization.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Contributor": {
      "description": "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of contributor.",
          "enum": [
            "author",
            "editor",
            "reviewer",
            "endorser"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "The name of the individual or organization responsible for the contribution.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the contributor.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Dosage": {
      "description": "Indicates how the medication is/was taken or should be taken by the patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Indicates the order in which the dosage instructions should be applied or interpreted.",
          "$ref": "#/definitions/integer"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "Free text dosage instructions e.g. SIG.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        },
        "additionalInstruction": {
          "description": "Supplemental instructions to the patient on how to take the medication  (e.g. \"with meals\" or\"take half to one hour before food\") or warnings for the patient about the medication (e.g. \"may cause drowsiness\" or \"avoid exposure of skin to direct sunlight or sunlamps\").",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "patientInstruction": {
          "description": "Instructions in terms that are understood by the patient or consumer.",
          "$ref": "#/definitions/string"
        },
        "_patientInstruction": {
          "description": "Extensions for patientInstruction",
          "$ref": "#/definitions/Element"
        },
        "timing": {
          "description": "When medication should be administered.",
          "$ref": "#/definitions/Timing"
        },
        "asNeededBoolean": {
          "description": "Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept).",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_asNeededBoolean": {
          "description": "Extensions for asNeededBoolean",
          "$ref": "#/definitions/Element"
        },
        "asNeededCodeableConcept": {
          "description": "Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "site": {
          "description": "Body site to administer to.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "route": {
          "description": "How drug should enter body.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "method": {
          "description": "Technique for administering medication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "doseRange": {
          "description": "Amount of medication per dose.",
          "$ref": "#/definitions/Range"
        },
        "doseQuantity": {
          "description": "Amount of medication per dose.",
          "$ref": "#/definitions/Quantity"
        },
        "maxDosePerPeriod": {
          "description": "Upper limit on medication per unit of time.",
          "$ref": "#/definitions/Ratio"
        },
        "maxDosePerAdministration": {
          "description": "Upper limit on medication per administration.",
          "$ref": "#/definitions/Quantity"
        },
        "maxDosePerLifetime": {
          "description": "Upper limit on medication per lifetime of the patient.",
          "$ref": "#/definitions/Quantity"
        },
        "rateRatio": {
          "description": "Amount of medication per unit of time.",
          "$ref": "#/definitions/Ratio"
        },
        "rateRange": {
          "description": "Amount of medication per unit of time.",
          "$ref": "#/definitions/Range"
        },
        "rateQuantity": {
          "description": "Amount of medication per unit of time.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false
    },
    "RelatedArtifact": {
      "description": "Related artifacts such as additional documentation, justification, or bibliographic references.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of relationship to the related artifact.",
          "enum": [
            "documentation",
            "justification",
            "citation",
            "predecessor",
            "successor",
            "derived-from",
            "depends-on",
            "composed-of"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "A brief description of the document or knowledge resource being referenced, suitable for display to a consumer.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        },
        "citation": {
          "description": "A bibliographic citation for the related artifact. This text SHOULD be formatted according to an accepted citation format.",
          "$ref": "#/definitions/string"
        },
        "_citation": {
          "description": "Extensions for citation",
          "$ref": "#/definitions/Element"
        },
        "url": {
          "description": "A url for the artifact that can be followed to access the actual content.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "document": {
          "description": "The document being referenced, represented as an attachment. This is exclusive with the resource element.",
          "$ref": "#/definitions/Attachment"
        },
        "resource": {
          "description": "The related resource, such as a library, value set, profile, or other knowledge resource.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "UsageContext": {
      "description": "Specifies clinical/business/etc metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code that identifies the type of context being specified by this usage context.",
          "$ref": "#/definitions/Coding"
        },
        "valueCodeableConcept": {
          "description": "A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueQuantity": {
          "description": "A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.",
          "$ref": "#/definitions/Quantity"
        },
        "valueRange": {
          "description": "A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.",
          "$ref": "#/definitions/Range"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "DataRequirement": {
      "description": "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "The profile of the required data, specified as the uri of the profile definition.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_profile": {
          "description": "Extensions for profile",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "mustSupport": {
          "description": "Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. Note that the value for this element can be a path to allow references to nested elements. In that case, all the elements along the path must be supported.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_mustSupport": {
          "description": "Extensions for mustSupport",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "codeFilter": {
          "description": "Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND\u0027ed, not OR\u0027ed.",
          "items": {
            "$ref": "#/definitions/DataRequirement_CodeFilter"
          },
          "type": "array"
        },
        "dateFilter": {
          "description": "Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND\u0027ed, not OR\u0027ed.",
          "items": {
            "$ref": "#/definitions/DataRequirement_DateFilter"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "DataRequirement_CodeFilter": {
      "description": "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "path": {
          "description": "The code-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        },
        "valueSetUri": {
          "description": "The valueset for the code filter. The valueSet and code elements are additive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueSetUri": {
          "description": "Extensions for valueSetUri",
          "$ref": "#/definitions/Element"
        },
        "valueSetReference": {
          "description": "The valueset for the code filter. The valueSet and code elements are additive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset.",
          "$ref": "#/definitions/Reference"
        },
        "code": {
          "description": "The codes for the code filter. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "DataRequirement_DateFilter": {
      "description": "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "path": {
          "description": "The date-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type dateTime, Period, Schedule, or Timing.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        },
        "valuePeriod": {
          "description": "The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now.",
          "$ref": "#/definitions/Period"
        },
        "valueDuration": {
          "description": "The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now.",
          "$ref": "#/definitions/Duration"
        }
      },
      "additionalProperties": false
    },
    "ParameterDefinition": {
      "description": "The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of the parameter used to allow access to the value of the parameter in evaluation contexts.",
          "$ref": "#/definitions/code"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "use": {
          "description": "Whether the parameter is input or output for the module.",
          "$ref": "#/definitions/code"
        },
        "_use": {
          "description": "Extensions for use",
          "$ref": "#/definitions/Element"
        },
        "min": {
          "description": "The minimum number of times this parameter SHALL appear in the request or response.",
          "$ref": "#/definitions/integer"
        },
        "_min": {
          "description": "Extensions for min",
          "$ref": "#/definitions/Element"
        },
        "max": {
          "description": "The maximum number of times this element is permitted to appear in the request or response.",
          "$ref": "#/definitions/string"
        },
        "_max": {
          "description": "Extensions for max",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "A brief discussion of what the parameter is for and how it is used by the module.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of the parameter.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "If specified, this indicates a profile that the input data must conform to, or that the output data will conform to.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "TriggerDefinition": {
      "description": "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of triggering event.",
          "enum": [
            "named-event",
            "periodic",
            "data-changed",
            "data-added",
            "data-modified",
            "data-removed",
            "data-accessed",
            "data-access-ended"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A formal name for the event. This may be an absolute URI that identifies the event formally (e.g. from a trigger registry), or a simple relative URI that identifies the event in a local context.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "timingTiming": {
          "description": "The timing of the event (if this is a periodic trigger).",
          "$ref": "#/definitions/Timing"
        },
        "timingReference": {
          "description": "The timing of the event (if this is a periodic trigger).",
          "$ref": "#/definitions/Reference"
        },
        "timingDate": {
          "description": "The timing of the event (if this is a periodic trigger).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_timingDate": {
          "description": "Extensions for timingDate",
          "$ref": "#/definitions/Element"
        },
        "timingDateTime": {
          "description": "The timing of the event (if this is a periodic trigger).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_timingDateTime": {
          "description": "Extensions for timingDateTime",
          "$ref": "#/definitions/Element"
        },
        "data": {
          "description": "The triggering data of the event (if this is a data trigger).",
          "$ref": "#/definitions/DataRequirement"
        },
        "condition": {
          "description": "A boolean-valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires.",
          "$ref": "#/definitions/TriggerDefinition_Condition"
        }
      },
      "additionalProperties": false
    },
    "TriggerDefinition_Condition": {
      "description": "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "A brief, natural language description of the condition that effectively communicates the intended semantics.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The media type of the language for the expression.",
          "enum": [
            "text/cql",
            "text/fhirpath"
          ]
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "An expression that returns true or false, indicating whether or not the condition is satisfied.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "MarketingStatus": {
      "description": "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "country": {
          "description": "The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "jurisdiction": {
          "description": "Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "status": {
          "description": "This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "dateRange": {
          "description": "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain.",
          "$ref": "#/definitions/Period"
        },
        "restoreDate": {
          "description": "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain.",
          "$ref": "#/definitions/dateTime"
        },
        "_restoreDate": {
          "description": "Extensions for restoreDate",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "country",
        "dateRange",
        "status"
      ]
    },
    "ProductShelfLife": {
      "description": "The shelf-life and storage information for a medicinal product item or container can be described using the this class.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique identifier for the packaged Medicinal Product.",
          "$ref": "#/definitions/Identifier"
        },
        "type": {
          "description": "This describes the shelf life, taking into account various scenarios such as shelf life of the packaged Medicinal Product itself, shelf life after transformation where necessary and shelf life after the first opening of a bottle, etc The shelf life type shall be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "period": {
          "description": "The shelf life time period can be specified using a numerical value for the period of time and its unit of time measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.",
          "$ref": "#/definitions/Quantity"
        },
        "specialPrecautionsForStorage": {
          "description": "Special precautions for storage, if any, can be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "period",
        "type"
      ]
    },
    "ProdCharacteristic": {
      "description": "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "height": {
          "description": "Where applicable, the height can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.",
          "$ref": "#/definitions/Quantity"
        },
        "width": {
          "description": "Where applicable, the width can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.",
          "$ref": "#/definitions/Quantity"
        },
        "depth": {
          "description": "Where applicable, the depth can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.",
          "$ref": "#/definitions/Quantity"
        },
        "weight": {
          "description": "Where applicable, the weight can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.",
          "$ref": "#/definitions/Quantity"
        },
        "nominalVolume": {
          "description": "Where applicable, the nominal volume can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.",
          "$ref": "#/definitions/Quantity"
        },
        "externalDiameter": {
          "description": "Where applicable, the external diameter can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.",
          "$ref": "#/definitions/Quantity"
        },
        "shape": {
          "description": "Where applicable, the shape can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used.",
          "$ref": "#/definitions/string"
        },
        "_shape": {
          "description": "Extensions for shape",
          "$ref": "#/definitions/Element"
        },
        "color": {
          "description": "Where applicable, the color can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_color": {
          "description": "Extensions for color",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "imprint": {
          "description": "Where applicable, the imprint can be specified as text.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_imprint": {
          "description": "Extensions for imprint",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "image": {
          "description": "Where applicable, the image can be provided The format of the image attachment shall be specified by regional implementations.",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "type": "array"
        },
        "scoring": {
          "description": "Where applicable, the scoring can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "SubstanceAmount": {
      "description": "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "amountQuantity": {
          "description": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field.",
          "$ref": "#/definitions/Quantity"
        },
        "amountRange": {
          "description": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field.",
          "$ref": "#/definitions/Range"
        },
        "amountString": {
          "description": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_amountString": {
          "description": "Extensions for amountString",
          "$ref": "#/definitions/Element"
        },
        "amountType": {
          "description": "Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "amountText": {
          "description": "A textual comment on a numeric value.",
          "$ref": "#/definitions/string"
        },
        "_amountText": {
          "description": "Extensions for amountText",
          "$ref": "#/definitions/Element"
        },
        "referenceRange": {
          "description": "Reference range of possible or expected values.",
          "$ref": "#/definitions/SubstanceAmount_ReferenceRange"
        }
      },
      "additionalProperties": false
    },
    "SubstanceAmount_ReferenceRange": {
      "description": "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "lowLimit": {
          "description": "Lower limit possible or expected.",
          "$ref": "#/definitions/Quantity"
        },
        "highLimit": {
          "description": "Upper limit possible or expected.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false
    },
    "SubstanceMoiety": {
      "description": "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "role": {
          "description": "The role of the moiety should be specified if there is a specific role the moiety is playing.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "identifier": {
          "description": "The unique identifier assigned to the substance representing the moiety based on the ISO 11238 substance controlled vocabulary.",
          "$ref": "#/definitions/Identifier"
        },
        "name": {
          "description": "The name of the moiety shall be provided.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "stereochemistry": {
          "description": "Stereochemistry shall be captured as described in 4.7.1.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "opticalActivity": {
          "description": "Optical activity shall be captured as described in 4.7.2.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "molecularFormula": {
          "description": "Molecular formula shall be captured as described in 4.7.3.",
          "$ref": "#/definitions/string"
        },
        "_molecularFormula": {
          "description": "Extensions for molecularFormula",
          "$ref": "#/definitions/Element"
        },
        "amount": {
          "description": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field.",
          "$ref": "#/definitions/SubstanceAmount"
        }
      },
      "additionalProperties": false
    },
    "Account": {
      "description": "A financial tool for tracking value accrued for a particular purpose.  In the healthcare field, used to track charges for a patient, cost centers, etc.",
      "properties": {
        "resourceType": {
          "description": "This is a Account resource",
          "const": "Account"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique identifier used to reference the account.  Might or might not be intended for human use (e.g. credit card number).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Indicates whether the account is presently used/usable or not.",
          "enum": [
            "active",
            "inactive",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Categorizes the account for reporting and searching purposes.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "name": {
          "description": "Name used for the account when displaying it to humans in reports, etc.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "subject": {
          "description": "Identifies the patient, device, practitioner, location or other object the account is associated with.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "Identifies the period of time the account applies to; e.g. accounts created per fiscal year, quarter, etc.",
          "$ref": "#/definitions/Period"
        },
        "active": {
          "description": "Indicates the period of time over which the account is allowed to have transactions posted to it.\nThis period may be different to the coveragePeriod which is the duration of time that services may occur.",
          "$ref": "#/definitions/Period"
        },
        "coverage": {
          "description": "The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account.",
          "items": {
            "$ref": "#/definitions/Account_Coverage"
          },
          "type": "array"
        },
        "owner": {
          "description": "Indicates the organization, department, etc. with responsibility for the account.",
          "$ref": "#/definitions/Reference"
        },
        "description": {
          "description": "Provides additional information about what the account tracks and how it is used.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "guarantor": {
          "description": "Parties financially responsible for the account.",
          "items": {
            "$ref": "#/definitions/Account_Guarantor"
          },
          "type": "array"
        },
        "partOf": {
          "description": "Reference to a parent Account.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Account_Coverage": {
      "description": "A financial tool for tracking value accrued for a particular purpose.  In the healthcare field, used to track charges for a patient, cost centers, etc.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "coverage": {
          "description": "The party(s) that are responsible for payment (or part of) of charges applied to this account (including self-pay).\n\nA coverage may only be resposible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.",
          "$ref": "#/definitions/Reference"
        },
        "priority": {
          "description": "The priority of the coverage in the context of this account.",
          "$ref": "#/definitions/positiveInt"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "coverage"
      ]
    },
    "Account_Guarantor": {
      "description": "A financial tool for tracking value accrued for a particular purpose.  In the healthcare field, used to track charges for a patient, cost centers, etc.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "party": {
          "description": "The entity who is responsible.",
          "$ref": "#/definitions/Reference"
        },
        "onHold": {
          "description": "A guarantor may be placed on credit hold or otherwise have their role temporarily suspended.",
          "$ref": "#/definitions/boolean"
        },
        "_onHold": {
          "description": "Extensions for onHold",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The timeframe during which the guarantor accepts responsibility for the account.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false,
      "required": [
        "party"
      ]
    },
    "ActivityDefinition": {
      "description": "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.",
      "properties": {
        "resourceType": {
          "description": "This is a ActivityDefinition resource",
          "const": "ActivityDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this activity definition is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this activity definition when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the activity definition.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this activity definition. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the activity definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the activity definition.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A free text natural language description of the activity definition from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "Explaination of why this activity definition is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "usage": {
          "description": "A detailed description of how the activity definition is used from a clinical perspective.",
          "$ref": "#/definitions/string"
        },
        "_usage": {
          "description": "Extensions for usage",
          "$ref": "#/definitions/Element"
        },
        "approvalDate": {
          "description": "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.",
          "$ref": "#/definitions/date"
        },
        "_approvalDate": {
          "description": "Extensions for approvalDate",
          "$ref": "#/definitions/Element"
        },
        "lastReviewDate": {
          "description": "The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn\u0027t change the original approval date.",
          "$ref": "#/definitions/date"
        },
        "_lastReviewDate": {
          "description": "Extensions for lastReviewDate",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The period during which the activity definition content was or is planned to be in active use.",
          "$ref": "#/definitions/Period"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate activity definition instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the activity definition is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "topic": {
          "description": "Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "contributor": {
          "description": "A contributor to the content of the activity definition, including authors, editors, reviewers, and endorsers.",
          "items": {
            "$ref": "#/definitions/Contributor"
          },
          "type": "array"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "relatedArtifact": {
          "description": "Related artifacts such as additional documentation, justification, or bibliographic references.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "library": {
          "description": "A reference to a Library resource containing any formal logic used by the activity definition.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "kind": {
          "description": "A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource.",
          "$ref": "#/definitions/code"
        },
        "_kind": {
          "description": "Extensions for kind",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "doNotPerform": {
          "description": "Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action.",
          "$ref": "#/definitions/boolean"
        },
        "_doNotPerform": {
          "description": "Extensions for doNotPerform",
          "$ref": "#/definitions/Element"
        },
        "timingTiming": {
          "description": "The period, timing or frequency upon which the described activity is to occur.",
          "$ref": "#/definitions/Timing"
        },
        "timingDateTime": {
          "description": "The period, timing or frequency upon which the described activity is to occur.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_timingDateTime": {
          "description": "Extensions for timingDateTime",
          "$ref": "#/definitions/Element"
        },
        "timingAge": {
          "description": "The period, timing or frequency upon which the described activity is to occur.",
          "$ref": "#/definitions/Age"
        },
        "timingPeriod": {
          "description": "The period, timing or frequency upon which the described activity is to occur.",
          "$ref": "#/definitions/Period"
        },
        "timingRange": {
          "description": "The period, timing or frequency upon which the described activity is to occur.",
          "$ref": "#/definitions/Range"
        },
        "timingDuration": {
          "description": "The period, timing or frequency upon which the described activity is to occur.",
          "$ref": "#/definitions/Duration"
        },
        "location": {
          "description": "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.",
          "$ref": "#/definitions/Reference"
        },
        "participant": {
          "description": "Indicates who should participate in performing the action described.",
          "items": {
            "$ref": "#/definitions/ActivityDefinition_Participant"
          },
          "type": "array"
        },
        "productReference": {
          "description": "Identifies the food, drug or other product being consumed or supplied in the activity.",
          "$ref": "#/definitions/Reference"
        },
        "productCodeableConcept": {
          "description": "Identifies the food, drug or other product being consumed or supplied in the activity.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "quantity": {
          "description": "Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).",
          "$ref": "#/definitions/Quantity"
        },
        "dosage": {
          "description": "Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources.",
          "items": {
            "$ref": "#/definitions/Dosage"
          },
          "type": "array"
        },
        "bodySite": {
          "description": "Indicates the sites on the subject\u0027s body where the procedure should be performed (I.e. the target sites).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specimenRequirement": {
          "description": "Defines specimen requirements for the action to be performed, such as required specimens for a lab test.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "transform": {
          "description": "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.",
          "$ref": "#/definitions/Reference"
        },
        "dynamicValue": {
          "description": "Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient\u0027s weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the intent resource that would contain the result.",
          "items": {
            "$ref": "#/definitions/ActivityDefinition_DynamicValue"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ActivityDefinition_Participant": {
      "description": "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of participant in the action.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "role": {
          "description": "The role the participant should play in performing the described action.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "ActivityDefinition_DynamicValue": {
      "description": "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "A brief, natural language description of the intended semantics of the dynamic value.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "path": {
          "description": "The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The media type of the language for the expression.",
          "$ref": "#/definitions/string"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "An expression specifying the value of the customized element.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "AdverseEvent": {
      "description": "Actual or  potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death.",
      "properties": {
        "resourceType": {
          "description": "This is a AdverseEvent resource",
          "const": "AdverseEvent"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The identifier(s) of this adverse event that are assigned by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate.",
          "$ref": "#/definitions/Identifier"
        },
        "actuality": {
          "description": "Whether the event actually happened, or just had the potential to. Note that this is independent of whether anyone was affected or harmed or how severely.",
          "enum": [
            "actual",
            "potential"
          ]
        },
        "_actuality": {
          "description": "Extensions for actuality",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "The overall type of event, intended for search and filtering purposes.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "event": {
          "description": "This element defines the specific type of event that occurred or that was prevented from occurring.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "This subject or group impacted by the event.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter or episode of care that establishes the context for this AdverseEvent.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The date (and perhaps time) when the adverse event occurred.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "resultingCondition": {
          "description": "Includes information about the reaction that occurred as a result of exposure to a substance (for example, a drug or a chemical).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "location": {
          "description": "The information about where the adverse event occurred.",
          "$ref": "#/definitions/Reference"
        },
        "seriousness": {
          "description": "Assessment whether this event was of real importance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "severity": {
          "description": "Describes the severity of the adverse event, in relation to the subject. Contrast to AdverseEvent.serious - a severe rash might not be serious, but a mild heart problem is.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "outcome": {
          "description": "Describes the type of outcome from the adverse event.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "recorder": {
          "description": "Information on who recorded the adverse event.  May be the patient or a practitioner.",
          "$ref": "#/definitions/Reference"
        },
        "contributor": {
          "description": "Parties that may or should contribute or have contributed information to the adverse event, which can consist of one or more activities.  Such information includes information leading to the decision to perform the activity and how to perform the activity (e.g. consultant), information that the activity itself seeks to reveal (e.g. informant of clinical history), or information about what activity was performed (e.g. informant witness).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "suspectEntity": {
          "description": "Describes the entity that is suspected to have caused the adverse event.",
          "items": {
            "$ref": "#/definitions/AdverseEvent_SuspectEntity"
          },
          "type": "array"
        },
        "subjectMedicalHistory": {
          "description": "AdverseEvent.subjectMedicalHistory.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "referenceDocument": {
          "description": "AdverseEvent.referenceDocument.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "study": {
          "description": "AdverseEvent.study.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "AdverseEvent_SuspectEntity": {
      "description": "Actual or  potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "instance": {
          "description": "Identifies the actual instance of what caused the adverse event.  May be a substance, medication, medication administration, medication statement or a device.",
          "$ref": "#/definitions/Reference"
        },
        "causality": {
          "description": "Information on the possible cause of the event.",
          "items": {
            "$ref": "#/definitions/AdverseEvent_Causality"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "instance"
      ]
    },
    "AdverseEvent_Causality": {
      "description": "Actual or  potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "assessment": {
          "description": "Assessment of if the entity caused the event.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "productRelatedness": {
          "description": "AdverseEvent.suspectEntity.causalityProductRelatedness.",
          "$ref": "#/definitions/string"
        },
        "_productRelatedness": {
          "description": "Extensions for productRelatedness",
          "$ref": "#/definitions/Element"
        },
        "author": {
          "description": "AdverseEvent.suspectEntity.causalityAuthor.",
          "$ref": "#/definitions/Reference"
        },
        "method": {
          "description": "ProbabilityScale | Bayesian | Checklist.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "AllergyIntolerance": {
      "description": "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.",
      "properties": {
        "resourceType": {
          "description": "This is a AllergyIntolerance resource",
          "const": "AllergyIntolerance"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this allergy/intolerance concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "clinicalStatus": {
          "description": "The clinical status of the allergy or intolerance.",
          "enum": [
            "active",
            "inactive",
            "resolved"
          ]
        },
        "_clinicalStatus": {
          "description": "Extensions for clinicalStatus",
          "$ref": "#/definitions/Element"
        },
        "verificationStatus": {
          "description": "Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product).",
          "enum": [
            "unconfirmed",
            "confirmed",
            "refuted",
            "entered-in-error"
          ]
        },
        "_verificationStatus": {
          "description": "Extensions for verificationStatus",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Identification of the underlying physiological mechanism for the reaction risk.",
          "enum": [
            "allergy",
            "intolerance"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Category of the identified substance.",
          "items": {
            "enum": [
              "food",
              "medication",
              "environment",
              "biologic"
            ]
          },
          "type": "array"
        },
        "_category": {
          "description": "Extensions for category",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "criticality": {
          "description": "Estimate of the potential clinical harm, or seriousness, of the reaction to the identified substance.",
          "enum": [
            "low",
            "high",
            "unable-to-assess"
          ]
        },
        "_criticality": {
          "description": "Extensions for criticality",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "Code for an allergy or intolerance statement (either a positive or a negated/excluded statement).  This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk (e.g., \"Latex\"), an allergy or intolerance condition (e.g., \"Latex allergy\"), or a negated/excluded code for a specific substance or class (e.g., \"No latex allergy\") or a general or categorical negated statement (e.g.,  \"No known allergy\", \"No known drug allergies\").  Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the \u0027code\u0027 and ignore the \u0027reaction.substance\u0027.  If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "patient": {
          "description": "The patient who has the allergy or intolerance.",
          "$ref": "#/definitions/Reference"
        },
        "encounter": {
          "description": "The encounter when the allergy or intolerance was asserted.",
          "$ref": "#/definitions/Reference"
        },
        "onsetDateTime": {
          "description": "Estimated or actual date,  date-time, or age when allergy or intolerance was identified.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_onsetDateTime": {
          "description": "Extensions for onsetDateTime",
          "$ref": "#/definitions/Element"
        },
        "onsetAge": {
          "description": "Estimated or actual date,  date-time, or age when allergy or intolerance was identified.",
          "$ref": "#/definitions/Age"
        },
        "onsetPeriod": {
          "description": "Estimated or actual date,  date-time, or age when allergy or intolerance was identified.",
          "$ref": "#/definitions/Period"
        },
        "onsetRange": {
          "description": "Estimated or actual date,  date-time, or age when allergy or intolerance was identified.",
          "$ref": "#/definitions/Range"
        },
        "onsetString": {
          "description": "Estimated or actual date,  date-time, or age when allergy or intolerance was identified.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_onsetString": {
          "description": "Extensions for onsetString",
          "$ref": "#/definitions/Element"
        },
        "assertedDate": {
          "description": "The date on which the existance of the AllergyIntolerance was first asserted or acknowledged.",
          "$ref": "#/definitions/dateTime"
        },
        "_assertedDate": {
          "description": "Extensions for assertedDate",
          "$ref": "#/definitions/Element"
        },
        "recorder": {
          "description": "Individual who recorded the record and takes responsibility for its content.",
          "$ref": "#/definitions/Reference"
        },
        "asserter": {
          "description": "The source of the information about the allergy that is recorded.",
          "$ref": "#/definitions/Reference"
        },
        "lastOccurrence": {
          "description": "Represents the date and/or time of the last known occurrence of a reaction event.",
          "$ref": "#/definitions/dateTime"
        },
        "_lastOccurrence": {
          "description": "Extensions for lastOccurrence",
          "$ref": "#/definitions/Element"
        },
        "note": {
          "description": "Additional narrative about the propensity for the Adverse Reaction, not captured in other fields.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "reaction": {
          "description": "Details about each adverse reaction event linked to exposure to the identified substance.",
          "items": {
            "$ref": "#/definitions/AllergyIntolerance_Reaction"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "patient",
        "resourceType"
      ]
    },
    "AllergyIntolerance_Reaction": {
      "description": "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "substance": {
          "description": "Identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event. Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the \u0027code\u0027 and ignore the \u0027reaction.substance\u0027.  If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "manifestation": {
          "description": "Clinical symptoms and/or signs that are observed or associated with the adverse reaction event.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "description": {
          "description": "Text description about the reaction as a whole, including details of the manifestation if required.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "onset": {
          "description": "Record of the date and/or time of the onset of the Reaction.",
          "$ref": "#/definitions/dateTime"
        },
        "_onset": {
          "description": "Extensions for onset",
          "$ref": "#/definitions/Element"
        },
        "severity": {
          "description": "Clinical assessment of the severity of the reaction event as a whole, potentially considering multiple different manifestations.",
          "enum": [
            "mild",
            "moderate",
            "severe"
          ]
        },
        "_severity": {
          "description": "Extensions for severity",
          "$ref": "#/definitions/Element"
        },
        "exposureRoute": {
          "description": "Identification of the route by which the subject was exposed to the substance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "note": {
          "description": "Additional text about the adverse reaction event not captured in other fields.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "manifestation"
      ]
    },
    "Appointment": {
      "description": "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).",
      "properties": {
        "resourceType": {
          "description": "This is a Appointment resource",
          "const": "Appointment"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status.",
          "enum": [
            "proposed",
            "pending",
            "booked",
            "arrived",
            "fulfilled",
            "cancelled",
            "noshow",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "serviceCategory": {
          "description": "A broad categorisation of the service that is to be performed during this appointment.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "serviceType": {
          "description": "The specific service that is to be performed during this appointment.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specialty": {
          "description": "The specialty of a practitioner that would be required to perform the service requested in this appointment.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "appointmentType": {
          "description": "The style of appointment or patient that has been booked in the slot (not service type).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reason": {
          "description": "The reason that this appointment is being scheduled. This is more clinical than administrative.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "indication": {
          "description": "Reason the appointment has been scheduled to take place, as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "priority": {
          "description": "The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority).",
          "$ref": "#/definitions/unsignedInt"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "supportingInformation": {
          "description": "Additional information to support the appointment provided when making the appointment.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "start": {
          "description": "Date/Time that the appointment is to take place.",
          "$ref": "#/definitions/instant"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "end": {
          "description": "Date/Time that the appointment is to conclude.",
          "$ref": "#/definitions/instant"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "#/definitions/Element"
        },
        "minutesDuration": {
          "description": "Number of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request).",
          "$ref": "#/definitions/positiveInt"
        },
        "_minutesDuration": {
          "description": "Extensions for minutesDuration",
          "$ref": "#/definitions/Element"
        },
        "slot": {
          "description": "The slots from the participants\u0027 schedules that will be filled by the appointment.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "created": {
          "description": "The date that this appointment was initially created. This could be different to the meta.lastModified value on the initial entry, as this could have been before the resource was created on the FHIR server, and should remain unchanged over the lifespan of the appointment.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Additional comments about the appointment.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "patientInstruction": {
          "description": "While Appointment.comment contains information for internal use, Appointment.patientInstructions is used to capture patient facing information about the Appointment (e.g. please bring your referral or fast from 8pm night before).",
          "$ref": "#/definitions/string"
        },
        "_patientInstruction": {
          "description": "Extensions for patientInstruction",
          "$ref": "#/definitions/Element"
        },
        "incomingReferral": {
          "description": "The referral request this appointment is allocated to assess (incoming referral).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "participant": {
          "description": "List of participants involved in the appointment.",
          "items": {
            "$ref": "#/definitions/Appointment_Participant"
          },
          "type": "array"
        },
        "requestedPeriod": {
          "description": "A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within. When using these values, the minutes duration should be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time.",
          "items": {
            "$ref": "#/definitions/Period"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "participant",
        "resourceType"
      ]
    },
    "Appointment_Participant": {
      "description": "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Role of participant in the appointment.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "actor": {
          "description": "A Person, Location/HealthcareService or Device that is participating in the appointment.",
          "$ref": "#/definitions/Reference"
        },
        "required": {
          "description": "Is this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.",
          "enum": [
            "required",
            "optional",
            "information-only"
          ]
        },
        "_required": {
          "description": "Extensions for required",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "Participation status of the actor.",
          "enum": [
            "accepted",
            "declined",
            "tentative",
            "needs-action"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "AppointmentResponse": {
      "description": "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.",
      "properties": {
        "resourceType": {
          "description": "This is a AppointmentResponse resource",
          "const": "AppointmentResponse"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "appointment": {
          "description": "Appointment that this response is replying to.",
          "$ref": "#/definitions/Reference"
        },
        "start": {
          "description": "Date/Time that the appointment is to take place, or requested new start time.",
          "$ref": "#/definitions/instant"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "end": {
          "description": "This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time.",
          "$ref": "#/definitions/instant"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "#/definitions/Element"
        },
        "participantType": {
          "description": "Role of participant in the appointment.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "actor": {
          "description": "A Person, Location/HealthcareService or Device that is participating in the appointment.",
          "$ref": "#/definitions/Reference"
        },
        "participantStatus": {
          "description": "Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty.",
          "$ref": "#/definitions/code"
        },
        "_participantStatus": {
          "description": "Extensions for participantStatus",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Additional comments about the appointment.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "appointment",
        "resourceType"
      ]
    },
    "AuditEvent": {
      "description": "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.",
      "properties": {
        "resourceType": {
          "description": "This is a AuditEvent resource",
          "const": "AuditEvent"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Identifier for a family of the event.  For example, a menu item, program, rule, policy, function code, application name or URL. It identifies the performed function.",
          "$ref": "#/definitions/Coding"
        },
        "subtype": {
          "description": "Identifier for the category of event.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "action": {
          "description": "Indicator for type of action performed during the event that generated the audit.",
          "enum": [
            "C",
            "R",
            "U",
            "D",
            "E"
          ]
        },
        "_action": {
          "description": "Extensions for action",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The period during which the activity occurred.",
          "$ref": "#/definitions/Period"
        },
        "recorded": {
          "description": "The time when the event occurred on the source.",
          "$ref": "#/definitions/instant"
        },
        "_recorded": {
          "description": "Extensions for recorded",
          "$ref": "#/definitions/Element"
        },
        "outcome": {
          "description": "Indicates whether the event succeeded or failed.",
          "enum": [
            "0",
            "4",
            "8",
            "12"
          ]
        },
        "_outcome": {
          "description": "Extensions for outcome",
          "$ref": "#/definitions/Element"
        },
        "outcomeDesc": {
          "description": "A free text description of the outcome of the event.",
          "$ref": "#/definitions/string"
        },
        "_outcomeDesc": {
          "description": "Extensions for outcomeDesc",
          "$ref": "#/definitions/Element"
        },
        "purposeOfEvent": {
          "description": "The purposeOfUse (reason) that was used during the event being recorded.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "agent": {
          "description": "An actor taking an active role in the event or activity that is logged.",
          "items": {
            "$ref": "#/definitions/AuditEvent_Agent"
          },
          "type": "array"
        },
        "source": {
          "description": "The system that is reporting the event.",
          "$ref": "#/definitions/AuditEvent_Source"
        },
        "entity": {
          "description": "Specific instances of data or objects that have been accessed.",
          "items": {
            "$ref": "#/definitions/AuditEvent_Entity"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "agent",
        "source",
        "type",
        "resourceType"
      ]
    },
    "AuditEvent_Agent": {
      "description": "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Specification of the participation type the user plays when performing the event.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "role": {
          "description": "The security role that the user was acting under, that come from local codes defined by the access control security system (e.g. RBAC, ABAC) used in the local context.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reference": {
          "description": "Direct reference to a resource that identifies the agent.",
          "$ref": "#/definitions/Reference"
        },
        "userId": {
          "description": "Unique identifier for the user actively participating in the event.",
          "$ref": "#/definitions/Identifier"
        },
        "altId": {
          "description": "Alternative agent Identifier. For a human, this should be a user identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g. single sign-on), if available.",
          "$ref": "#/definitions/string"
        },
        "_altId": {
          "description": "Extensions for altId",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "Human-meaningful name for the agent.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "requestor": {
          "description": "Indicator that the user is or is not the requestor, or initiator, for the event being audited.",
          "$ref": "#/definitions/boolean"
        },
        "_requestor": {
          "description": "Extensions for requestor",
          "$ref": "#/definitions/Element"
        },
        "location": {
          "description": "Where the event occurred.",
          "$ref": "#/definitions/Reference"
        },
        "policy": {
          "description": "The policy or plan that authorized the activity being recorded. Typically, a single activity may have multiple applicable policies, such as patient consent, guarantor funding, etc. The policy would also indicate the security token used.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_policy": {
          "description": "Extensions for policy",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "media": {
          "description": "Type of media involved. Used when the event is about exporting/importing onto media.",
          "$ref": "#/definitions/Coding"
        },
        "network": {
          "description": "Logical network location for application activity, if the activity has a network location.",
          "$ref": "#/definitions/AuditEvent_Network"
        },
        "purposeOfUse": {
          "description": "The reason (purpose of use), specific to this agent, that was used during the event being recorded.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "AuditEvent_Network": {
      "description": "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "address": {
          "description": "An identifier for the network access point of the user device for the audit event.",
          "$ref": "#/definitions/string"
        },
        "_address": {
          "description": "Extensions for address",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "An identifier for the type of network access point that originated the audit event.",
          "enum": [
            "1",
            "2",
            "3",
            "4",
            "5"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "AuditEvent_Source": {
      "description": "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "site": {
          "description": "Logical source location within the healthcare enterprise network.  For example, a hospital or other provider location within a multi-entity provider group.",
          "$ref": "#/definitions/string"
        },
        "_site": {
          "description": "Extensions for site",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "Identifier of the source where the event was detected.",
          "$ref": "#/definitions/Identifier"
        },
        "type": {
          "description": "Code specifying the type of source where event originated.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "identifier"
      ]
    },
    "AuditEvent_Entity": {
      "description": "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifies a specific instance of the entity. The reference should always be version specific.",
          "$ref": "#/definitions/Identifier"
        },
        "reference": {
          "description": "Identifies a specific instance of the entity. The reference should be version specific.",
          "$ref": "#/definitions/Reference"
        },
        "type": {
          "description": "The type of the object that was involved in this audit event.",
          "$ref": "#/definitions/Coding"
        },
        "role": {
          "description": "Code representing the role the entity played in the event being audited.",
          "$ref": "#/definitions/Coding"
        },
        "lifecycle": {
          "description": "Identifier for the data life-cycle stage for the entity.",
          "$ref": "#/definitions/Coding"
        },
        "securityLabel": {
          "description": "Security labels for the identified entity.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "name": {
          "description": "A name of the entity in the audit event.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Text that describes the entity in more detail.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "query": {
          "description": "The query parameters for a query-type entities.",
          "$ref": "#/definitions/base64Binary"
        },
        "_query": {
          "description": "Extensions for query",
          "$ref": "#/definitions/Element"
        },
        "detail": {
          "description": "Tagged value pairs for conveying additional information about the entity.",
          "items": {
            "$ref": "#/definitions/AuditEvent_Detail"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "AuditEvent_Detail": {
      "description": "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of extra detail provided in the value.",
          "$ref": "#/definitions/string"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "The details value.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueBase64Binary": {
          "description": "The details value.",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_valueBase64Binary": {
          "description": "Extensions for valueBase64Binary",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Basic": {
      "description": "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don\u0027t map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.",
      "properties": {
        "resourceType": {
          "description": "This is a Basic resource",
          "const": "Basic"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier assigned to the resource for business purposes, outside the context of FHIR.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "code": {
          "description": "Identifies the \u0027type\u0027 of resource - equivalent to the resource name for other resources.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "Identifies the patient, practitioner, device or any other resource that is the \"focus\" of this resource.",
          "$ref": "#/definitions/Reference"
        },
        "created": {
          "description": "Identifies when the resource was first created.",
          "$ref": "#/definitions/date"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "author": {
          "description": "Indicates who was responsible for creating the resource instance.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "code",
        "resourceType"
      ]
    },
    "Binary": {
      "description": "A binary resource can contain any content, whether text, image, pdf, zip archive, etc.",
      "properties": {
        "resourceType": {
          "description": "This is a Binary resource",
          "const": "Binary"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "contentType": {
          "description": "MimeType of the binary content represented as a standard MimeType (BCP 13).",
          "$ref": "#/definitions/code"
        },
        "_contentType": {
          "description": "Extensions for contentType",
          "$ref": "#/definitions/Element"
        },
        "securityContext": {
          "description": "Treat this binary as if it was this other resource for access control purposes.",
          "$ref": "#/definitions/Reference"
        },
        "content": {
          "description": "The actual content, base64 encoded.",
          "$ref": "#/definitions/base64Binary"
        },
        "_content": {
          "description": "Extensions for content",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "BiologicallyDerivedProduct": {
      "description": "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.",
      "properties": {
        "resourceType": {
          "description": "This is a BiologicallyDerivedProduct resource",
          "const": "BiologicallyDerivedProduct"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this biologically derived product instance that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "productCategory": {
          "description": "Broad category of this product.",
          "enum": [
            "organ",
            "tissue",
            "fluid",
            "cells",
            "biologicalAgent"
          ]
        },
        "_productCategory": {
          "description": "Extensions for productCategory",
          "$ref": "#/definitions/Element"
        },
        "productCode": {
          "description": "A code that identifies the kind of this biologically derived product (SNOMED Ctcode).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "status": {
          "description": "Whether the product is currently available.",
          "enum": [
            "available",
            "unavailable"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "request": {
          "description": "Procedure request to obtain this biologically derived product.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "quantity": {
          "description": "Number of discrete units within this product.",
          "$ref": "#/definitions/integer"
        },
        "_quantity": {
          "description": "Extensions for quantity",
          "$ref": "#/definitions/Element"
        },
        "parent": {
          "description": "Parent product (if any).",
          "$ref": "#/definitions/Reference"
        },
        "collection": {
          "description": "How this product was collected.",
          "$ref": "#/definitions/BiologicallyDerivedProduct_Collection"
        },
        "processing": {
          "description": "Any processing of the product during collection.",
          "items": {
            "$ref": "#/definitions/BiologicallyDerivedProduct_Processing"
          },
          "type": "array"
        },
        "manipulation": {
          "description": "Any manipulation of product post-collection.",
          "$ref": "#/definitions/BiologicallyDerivedProduct_Manipulation"
        },
        "storage": {
          "description": "Product storage.",
          "items": {
            "$ref": "#/definitions/BiologicallyDerivedProduct_Storage"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "BiologicallyDerivedProduct_Collection": {
      "description": "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "collector": {
          "description": "HealthCare Professional performing collection.",
          "$ref": "#/definitions/Reference"
        },
        "source": {
          "description": "Person or entity providing product.",
          "$ref": "#/definitions/Reference"
        },
        "collectedDateTime": {
          "description": "Time of product collection.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_collectedDateTime": {
          "description": "Extensions for collectedDateTime",
          "$ref": "#/definitions/Element"
        },
        "collectedPeriod": {
          "description": "Time of product collection.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "BiologicallyDerivedProduct_Processing": {
      "description": "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "Description of of processing.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "procedure": {
          "description": "Procesing code.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "additive": {
          "description": "Substance added during processing.",
          "$ref": "#/definitions/Reference"
        },
        "timeDateTime": {
          "description": "Time of processing.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_timeDateTime": {
          "description": "Extensions for timeDateTime",
          "$ref": "#/definitions/Element"
        },
        "timePeriod": {
          "description": "Time of processing.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "BiologicallyDerivedProduct_Manipulation": {
      "description": "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "Description of manipulation.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "timeDateTime": {
          "description": "Time of manipulation.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_timeDateTime": {
          "description": "Extensions for timeDateTime",
          "$ref": "#/definitions/Element"
        },
        "timePeriod": {
          "description": "Time of manipulation.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "BiologicallyDerivedProduct_Storage": {
      "description": "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "Description of storage.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "temperature": {
          "description": "Storage temperature.",
          "$ref": "#/definitions/decimal"
        },
        "_temperature": {
          "description": "Extensions for temperature",
          "$ref": "#/definitions/Element"
        },
        "scale": {
          "description": "Temperature scale used.",
          "enum": [
            "farenheit",
            "celsius",
            "kelvin"
          ]
        },
        "_scale": {
          "description": "Extensions for scale",
          "$ref": "#/definitions/Element"
        },
        "duration": {
          "description": "Storage timeperiod.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "BodyStructure": {
      "description": "Record details about an anatomical structure.  This resource may be used when a coded concept does not provide the necessary detail needed for the use case.",
      "properties": {
        "resourceType": {
          "description": "This is a BodyStructure resource",
          "const": "BodyStructure"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier for this instance of the anatomical structure.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "Whether this body site is in active use.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "morphology": {
          "description": "The kind of structure being represented by the body structure at `BodyStructure.location`.  This can define both normal and abnormal morphologies.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "location": {
          "description": "The anatomical location or region of the specimen, lesion, or body structure.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "locationQualifier": {
          "description": "Qualifier to refine the anatomical location.  These include qualifiers for laterality, relative location, directionality, number, and plane.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "description": {
          "description": "A summary, charactarization or explanation of the body structure.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "image": {
          "description": "Image or images used to identify a location.",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "type": "array"
        },
        "patient": {
          "description": "The person to which the body site belongs.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "patient",
        "resourceType"
      ]
    },
    "Bundle": {
      "description": "A container for a collection of resources.",
      "properties": {
        "resourceType": {
          "description": "This is a Bundle resource",
          "const": "Bundle"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A persistent identifier for the batch that won\u0027t change as a batch is copied from server to server.",
          "$ref": "#/definitions/Identifier"
        },
        "type": {
          "description": "Indicates the purpose of this bundle - how it was intended to be used.",
          "enum": [
            "document",
            "message",
            "transaction",
            "transaction-response",
            "batch",
            "batch-response",
            "history",
            "searchset",
            "collection"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "timestamp": {
          "description": "The date/time that the bundle was assembled - i.e. when the resources were placed in the bundle.",
          "$ref": "#/definitions/instant"
        },
        "_timestamp": {
          "description": "Extensions for timestamp",
          "$ref": "#/definitions/Element"
        },
        "total": {
          "description": "If a set of search matches, this is the total number of matches for the search (as opposed to the number of results in this bundle).",
          "$ref": "#/definitions/unsignedInt"
        },
        "_total": {
          "description": "Extensions for total",
          "$ref": "#/definitions/Element"
        },
        "link": {
          "description": "A series of links that provide context to this bundle.",
          "items": {
            "$ref": "#/definitions/Bundle_Link"
          },
          "type": "array"
        },
        "entry": {
          "description": "An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only).",
          "items": {
            "$ref": "#/definitions/Bundle_Entry"
          },
          "type": "array"
        },
        "signature": {
          "description": "Digital Signature - base64 encoded. XML-DSIg or a JWT.",
          "$ref": "#/definitions/Signature"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Bundle_Link": {
      "description": "A container for a collection of resources.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "relation": {
          "description": "A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).",
          "$ref": "#/definitions/string"
        },
        "_relation": {
          "description": "Extensions for relation",
          "$ref": "#/definitions/Element"
        },
        "url": {
          "description": "The reference details for the link.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Bundle_Entry": {
      "description": "A container for a collection of resources.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "link": {
          "description": "A series of links that provide context to this entry.",
          "items": {
            "$ref": "#/definitions/Bundle_Link"
          },
          "type": "array"
        },
        "fullUrl": {
          "description": "The Absolute URL for the resource.  The fullUrl SHALL not disagree with the id in the resource. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: \n* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)\n* Results from operations might involve resources that are not identified.",
          "$ref": "#/definitions/uri"
        },
        "_fullUrl": {
          "description": "Extensions for fullUrl",
          "$ref": "#/definitions/Element"
        },
        "resource": {
          "description": "The Resources for the entry.",
          "$ref": "#/definitions/ResourceList"
        },
        "search": {
          "description": "Information about the search process that lead to the creation of this entry.",
          "$ref": "#/definitions/Bundle_Search"
        },
        "request": {
          "description": "Additional information about how this entry should be processed as part of a transaction.",
          "$ref": "#/definitions/Bundle_Request"
        },
        "response": {
          "description": "Additional information about how this entry should be processed as part of a transaction.",
          "$ref": "#/definitions/Bundle_Response"
        }
      },
      "additionalProperties": false
    },
    "Bundle_Search": {
      "description": "A container for a collection of resources.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "mode": {
          "description": "Why this entry is in the result set - whether it\u0027s included as a match or because of an _include requirement.",
          "enum": [
            "match",
            "include",
            "outcome"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "score": {
          "description": "When searching, the server\u0027s search ranking score for the entry.",
          "$ref": "#/definitions/decimal"
        },
        "_score": {
          "description": "Extensions for score",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Bundle_Request": {
      "description": "A container for a collection of resources.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "method": {
          "description": "The HTTP verb for this entry in either a change history, or a transaction/ transaction response.",
          "enum": [
            "GET",
            "HEAD",
            "POST",
            "PUT",
            "DELETE",
            "PATCH"
          ]
        },
        "_method": {
          "description": "Extensions for method",
          "$ref": "#/definitions/Element"
        },
        "url": {
          "description": "The URL for this entry, relative to the root (the address to which the request is posted).",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "ifNoneMatch": {
          "description": "If the ETag values match, return a 304 Not Modified status. See the API documentation for [\"Conditional Read\"](http.html#cread).",
          "$ref": "#/definitions/string"
        },
        "_ifNoneMatch": {
          "description": "Extensions for ifNoneMatch",
          "$ref": "#/definitions/Element"
        },
        "ifModifiedSince": {
          "description": "Only perform the operation if the last updated date matches. See the API documentation for [\"Conditional Read\"](http.html#cread).",
          "$ref": "#/definitions/instant"
        },
        "_ifModifiedSince": {
          "description": "Extensions for ifModifiedSince",
          "$ref": "#/definitions/Element"
        },
        "ifMatch": {
          "description": "Only perform the operation if the Etag value matches. For more information, see the API section [\"Managing Resource Contention\"](http.html#concurrency).",
          "$ref": "#/definitions/string"
        },
        "_ifMatch": {
          "description": "Extensions for ifMatch",
          "$ref": "#/definitions/Element"
        },
        "ifNoneExist": {
          "description": "Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for [\"Conditional Create\"](http.html#ccreate). This is just the query portion of the URL - what follows the \"?\" (not including the \"?\").",
          "$ref": "#/definitions/string"
        },
        "_ifNoneExist": {
          "description": "Extensions for ifNoneExist",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Bundle_Response": {
      "description": "A container for a collection of resources.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "status": {
          "description": "The status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.",
          "$ref": "#/definitions/string"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "location": {
          "description": "The location header created by processing this operation.",
          "$ref": "#/definitions/uri"
        },
        "_location": {
          "description": "Extensions for location",
          "$ref": "#/definitions/Element"
        },
        "etag": {
          "description": "The etag for the resource, it the operation for the entry produced a versioned resource (see [Resource Metadata and Versioning](http.html#versioning) and [Managing Resource Contention](http.html#concurrency)).",
          "$ref": "#/definitions/string"
        },
        "_etag": {
          "description": "Extensions for etag",
          "$ref": "#/definitions/Element"
        },
        "lastModified": {
          "description": "The date/time that the resource was modified on the server.",
          "$ref": "#/definitions/instant"
        },
        "_lastModified": {
          "description": "Extensions for lastModified",
          "$ref": "#/definitions/Element"
        },
        "outcome": {
          "description": "An OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.",
          "$ref": "#/definitions/ResourceList"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "resourceType": {
          "description": "This is a CapabilityStatement resource",
          "const": "CapabilityStatement"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this capability statement is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the capability statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the capability statement. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the capability statement.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this capability statement. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this capability statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the capability statement was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the capability statement.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the capability statement from a consumer\u0027s perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate capability statement instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the capability statement is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this capability statement is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "kind": {
          "description": "The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase).",
          "enum": [
            "instance",
            "capability",
            "requirements"
          ]
        },
        "_kind": {
          "description": "Extensions for kind",
          "$ref": "#/definitions/Element"
        },
        "instantiates": {
          "description": "Reference to a canonical URL of another CapabilityStatement that this software implements or uses. This capability statement is a published API description that corresponds to a business service. The rest of the capability statement does not need to repeat the details of the referenced resource, but can do so.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "software": {
          "description": "Software that is covered by this capability statement.  It is used when the capability statement describes the capabilities of a particular software version, independent of an installation.",
          "$ref": "#/definitions/CapabilityStatement_Software"
        },
        "implementation": {
          "description": "Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program.",
          "$ref": "#/definitions/CapabilityStatement_Implementation"
        },
        "fhirVersion": {
          "description": "The version of the FHIR specification on which this capability statement is based.",
          "$ref": "#/definitions/id"
        },
        "_fhirVersion": {
          "description": "Extensions for fhirVersion",
          "$ref": "#/definitions/Element"
        },
        "acceptUnknown": {
          "description": "A code that indicates whether the application accepts unknown elements or extensions when reading resources.",
          "enum": [
            "no",
            "extensions",
            "elements",
            "both"
          ]
        },
        "_acceptUnknown": {
          "description": "Extensions for acceptUnknown",
          "$ref": "#/definitions/Element"
        },
        "format": {
          "description": "A list of the formats supported by this implementation using their content types.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_format": {
          "description": "Extensions for format",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "patchFormat": {
          "description": "A list of the patch formats supported by this implementation using their content types.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_patchFormat": {
          "description": "Extensions for patchFormat",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "implementationGuide": {
          "description": "A list of implementation guides that the server does (or should) support in their entirety.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_implementationGuide": {
          "description": "Extensions for implementationGuide",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "rest": {
          "description": "A definition of the restful capabilities of the solution, if any.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Rest"
          },
          "type": "array"
        },
        "messaging": {
          "description": "A description of the messaging capabilities of the solution.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Messaging"
          },
          "type": "array"
        },
        "document": {
          "description": "A document definition.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Document"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "CapabilityStatement_Software": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Name software is known by.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The version identifier for the software covered by this statement.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "releaseDate": {
          "description": "Date this version of the software was released.",
          "$ref": "#/definitions/dateTime"
        },
        "_releaseDate": {
          "description": "Extensions for releaseDate",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_Implementation": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "Information about the specific installation that this capability statement relates to.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "url": {
          "description": "An absolute base URL for the implementation.  This forms the base for REST interfaces as well as the mailbox and document interfaces.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_Rest": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "mode": {
          "description": "Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations.",
          "enum": [
            "client",
            "server"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "Information about the system\u0027s restful capabilities that apply across all applications, such as security.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        },
        "security": {
          "description": "Information about security implementation from an interface perspective - what a client needs to know.",
          "$ref": "#/definitions/CapabilityStatement_Security"
        },
        "resource": {
          "description": "A specification of the restful capabilities of the solution for a specific resource type.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Resource"
          },
          "type": "array"
        },
        "interaction": {
          "description": "A specification of restful operations supported by the system.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Interaction1"
          },
          "type": "array"
        },
        "searchParam": {
          "description": "Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_SearchParam"
          },
          "type": "array"
        },
        "operation": {
          "description": "Definition of an operation or a named query together with its parameters and their meaning and type.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Operation"
          },
          "type": "array"
        },
        "compartment": {
          "description": "An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_compartment": {
          "description": "Extensions for compartment",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_Security": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "cors": {
          "description": "Server adds CORS headers when responding to requests - this enables javascript applications to use the server.",
          "$ref": "#/definitions/boolean"
        },
        "_cors": {
          "description": "Extensions for cors",
          "$ref": "#/definitions/Element"
        },
        "service": {
          "description": "Types of security services that are supported/required by the system.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "description": {
          "description": "General description of how security works.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "certificate": {
          "description": "Certificates associated with security profiles.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Certificate"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_Certificate": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Mime type for a certificate.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "blob": {
          "description": "Actual certificate.",
          "$ref": "#/definitions/base64Binary"
        },
        "_blob": {
          "description": "Extensions for blob",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_Resource": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "A type of resource exposed via the restful interface.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "A specification of the profile that describes the solution\u0027s overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).",
          "$ref": "#/definitions/Reference"
        },
        "supportedProfile": {
          "description": "A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "documentation": {
          "description": "Additional information about the resource type used by the system.",
          "$ref": "#/definitions/markdown"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        },
        "interaction": {
          "description": "Identifies a restful operation supported by the solution.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Interaction"
          },
          "type": "array"
        },
        "versioning": {
          "description": "This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is \u0027versioned-update\u0027, then the server supports all the versioning features, including using e-tags for version integrity in the API.",
          "enum": [
            "no-version",
            "versioned",
            "versioned-update"
          ]
        },
        "_versioning": {
          "description": "Extensions for versioning",
          "$ref": "#/definitions/Element"
        },
        "readHistory": {
          "description": "A flag for whether the server is able to return past versions as part of the vRead operation.",
          "$ref": "#/definitions/boolean"
        },
        "_readHistory": {
          "description": "Extensions for readHistory",
          "$ref": "#/definitions/Element"
        },
        "updateCreate": {
          "description": "A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server.",
          "$ref": "#/definitions/boolean"
        },
        "_updateCreate": {
          "description": "Extensions for updateCreate",
          "$ref": "#/definitions/Element"
        },
        "conditionalCreate": {
          "description": "A flag that indicates that the server supports conditional create.",
          "$ref": "#/definitions/boolean"
        },
        "_conditionalCreate": {
          "description": "Extensions for conditionalCreate",
          "$ref": "#/definitions/Element"
        },
        "conditionalRead": {
          "description": "A code that indicates how the server supports conditional read.",
          "enum": [
            "not-supported",
            "modified-since",
            "not-match",
            "full-support"
          ]
        },
        "_conditionalRead": {
          "description": "Extensions for conditionalRead",
          "$ref": "#/definitions/Element"
        },
        "conditionalUpdate": {
          "description": "A flag that indicates that the server supports conditional update.",
          "$ref": "#/definitions/boolean"
        },
        "_conditionalUpdate": {
          "description": "Extensions for conditionalUpdate",
          "$ref": "#/definitions/Element"
        },
        "conditionalDelete": {
          "description": "A code that indicates how the server supports conditional delete.",
          "enum": [
            "not-supported",
            "single",
            "multiple"
          ]
        },
        "_conditionalDelete": {
          "description": "Extensions for conditionalDelete",
          "$ref": "#/definitions/Element"
        },
        "referencePolicy": {
          "description": "A set of flags that defines how references are supported.",
          "items": {
            "enum": [
              "literal",
              "logical",
              "resolves",
              "enforced",
              "local"
            ]
          },
          "type": "array"
        },
        "_referencePolicy": {
          "description": "Extensions for referencePolicy",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "searchInclude": {
          "description": "A list of _include values supported by the server.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_searchInclude": {
          "description": "Extensions for searchInclude",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "searchRevInclude": {
          "description": "A list of _revinclude (reverse include) values supported by the server.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_searchRevInclude": {
          "description": "Extensions for searchRevInclude",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "searchParam": {
          "description": "Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_SearchParam"
          },
          "type": "array"
        },
        "operation": {
          "description": "Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the opration, and the parameters.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Operation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_Interaction": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Coded identifier of the operation, supported by the system resource.",
          "enum": [
            "read",
            "vread",
            "update",
            "patch",
            "delete",
            "history-instance",
            "history-type",
            "create",
            "search-type"
          ]
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "Guidance specific to the implementation of this operation, such as \u0027delete is a logical delete\u0027 or \u0027updates are only allowed with version id\u0027 or \u0027creates permitted from pre-authorized certificates only\u0027.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_SearchParam": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of the search parameter used in the interface.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]).",
          "$ref": "#/definitions/uri"
        },
        "_definition": {
          "description": "Extensions for definition",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of value a search parameter refers to, and how the content is interpreted.",
          "enum": [
            "number",
            "date",
            "string",
            "token",
            "reference",
            "composite",
            "quantity",
            "uri"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "This allows documentation of any distinct behaviors about how the search parameter is used.  For example, text matching algorithms.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_Operation": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of the operation or query. For an operation, this is the name  prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "Where the formal definition can be found.",
          "$ref": "#/definitions/Reference"
        },
        "documentation": {
          "description": "Documentation that describes anything special about the operation behaviour, possibly detailing different behaviour for system, type and instance-level invocation of the operation.",
          "$ref": "#/definitions/markdown"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "definition"
      ]
    },
    "CapabilityStatement_Interaction1": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A coded identifier of the operation, supported by the system.",
          "enum": [
            "transaction",
            "batch",
            "search-system",
            "history-system"
          ]
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_Messaging": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "endpoint": {
          "description": "An endpoint (network accessible address) to which messages and/or replies are to be sent.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_Endpoint"
          },
          "type": "array"
        },
        "reliableCache": {
          "description": "Length if the receiver\u0027s reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender).",
          "$ref": "#/definitions/unsignedInt"
        },
        "_reliableCache": {
          "description": "Extensions for reliableCache",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "Documentation about the system\u0027s messaging capabilities for this endpoint not otherwise documented by the capability statement.  For example, the process for becoming an authorized messaging exchange partner.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        },
        "supportedMessage": {
          "description": "References to message definitions for messages this system can send or receive.",
          "items": {
            "$ref": "#/definitions/CapabilityStatement_SupportedMessage"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "CapabilityStatement_Endpoint": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "protocol": {
          "description": "A list of the messaging transport protocol(s) identifiers, supported by this endpoint.",
          "$ref": "#/definitions/Coding"
        },
        "address": {
          "description": "The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier.",
          "$ref": "#/definitions/uri"
        },
        "_address": {
          "description": "Extensions for address",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "protocol"
      ]
    },
    "CapabilityStatement_SupportedMessage": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "mode": {
          "description": "The mode of this event declaration - whether application is sender or receiver.",
          "enum": [
            "sender",
            "receiver"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "Points to a message definition that identifies the messaging event, message structure, allowed responses, etc.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "definition"
      ]
    },
    "CapabilityStatement_Document": {
      "description": "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "mode": {
          "description": "Mode of this document declaration - whether an application is a producer or consumer.",
          "enum": [
            "producer",
            "consumer"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "A description of how the application supports or uses the specified document profile.  For example, when documents are created, what action is taken with consumed documents, etc.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "A constraint on a resource used in the document.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "profile"
      ]
    },
    "CarePlan": {
      "description": "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.",
      "properties": {
        "resourceType": {
          "description": "This is a CarePlan resource",
          "const": "CarePlan"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this care plan that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "instantiates": {
          "description": "Identifies the protocol, questionnaire, guideline or other specification the care plan should be conducted in accordance with.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "A care plan that is fulfilled in whole or in part by this care plan.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "replaces": {
          "description": "Completed or terminated care plan whose function is taken by this new care plan.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "partOf": {
          "description": "A larger care plan of which this particular care plan is a component or step.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.",
          "enum": [
            "draft",
            "active",
            "suspended",
            "completed",
            "entered-in-error",
            "cancelled",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "intent": {
          "description": "Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain.",
          "enum": [
            "proposal",
            "plan",
            "order",
            "option"
          ]
        },
        "_intent": {
          "description": "Extensions for intent",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "title": {
          "description": "Human-friendly name for the CarePlan.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A description of the scope and nature of the plan.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "subject": {
          "description": "Identifies the patient or group whose intended care is described by the plan.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "Identifies the original context in which this particular CarePlan was created.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "Indicates when the plan did (or is intended to) come into effect and end.",
          "$ref": "#/definitions/Period"
        },
        "author": {
          "description": "Identifies the individual(s) or ogranization who is responsible for the content of the care plan.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "careTeam": {
          "description": "Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "addresses": {
          "description": "Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "supportingInfo": {
          "description": "Identifies portions of the patient\u0027s record that specifically influenced the formation of the plan.  These might include co-morbidities, recent procedures, limitations, recent assessments, etc.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "goal": {
          "description": "Describes the intended objective(s) of carrying out the care plan.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "activity": {
          "description": "Identifies a planned action to occur as part of the plan.  For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.",
          "items": {
            "$ref": "#/definitions/CarePlan_Activity"
          },
          "type": "array"
        },
        "note": {
          "description": "General notes about the care plan not covered elsewhere.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "CarePlan_Activity": {
      "description": "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "outcomeCodeableConcept": {
          "description": "Identifies the outcome at the point when the status of the activity is assessed.  For example, the outcome of an education activity could be patient understands (or not).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "outcomeReference": {
          "description": "Details of the outcome or action resulting from the activity.  The reference to an \"event\" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself.  The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "progress": {
          "description": "Notes about the adherence/status/progress of the activity.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "reference": {
          "description": "The details of the proposed activity represented in a specific resource.",
          "$ref": "#/definitions/Reference"
        },
        "detail": {
          "description": "A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn\u0027t know about specific resources such as procedure etc.",
          "$ref": "#/definitions/CarePlan_Detail"
        }
      },
      "additionalProperties": false
    },
    "CarePlan_Detail": {
      "description": "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "kind": {
          "description": "A description of the kind of resource the in-line definition of a care plan activity is representing.  The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference.  For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest.",
          "$ref": "#/definitions/code"
        },
        "_kind": {
          "description": "Extensions for kind",
          "$ref": "#/definitions/Element"
        },
        "instantiates": {
          "description": "Identifies the protocol, questionnaire, guideline or other specification the planned activity should be conducted in accordance with.",
          "$ref": "#/definitions/uri"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "Detailed description of the type of planned activity; e.g. What lab test, what procedure, what kind of encounter.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reasonCode": {
          "description": "Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "goal": {
          "description": "Internal reference that identifies the goals that this activity is intended to contribute towards meeting.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "Identifies what progress is being made for the specific activity.",
          "enum": [
            "not-started",
            "scheduled",
            "in-progress",
            "on-hold",
            "completed",
            "cancelled",
            "stopped",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "statusReason": {
          "description": "Provides reason why the activity isn\u0027t yet started, is on hold, was cancelled, etc.",
          "$ref": "#/definitions/string"
        },
        "_statusReason": {
          "description": "Extensions for statusReason",
          "$ref": "#/definitions/Element"
        },
        "prohibited": {
          "description": "If true, indicates that the described activity is one that must NOT be engaged in when following the plan.  If false, indicates that the described activity is one that should be engaged in when following the plan.",
          "$ref": "#/definitions/boolean"
        },
        "_prohibited": {
          "description": "Extensions for prohibited",
          "$ref": "#/definitions/Element"
        },
        "scheduledTiming": {
          "description": "The period, timing or frequency upon which the described activity is to occur.",
          "$ref": "#/definitions/Timing"
        },
        "scheduledPeriod": {
          "description": "The period, timing or frequency upon which the described activity is to occur.",
          "$ref": "#/definitions/Period"
        },
        "scheduledString": {
          "description": "The period, timing or frequency upon which the described activity is to occur.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_scheduledString": {
          "description": "Extensions for scheduledString",
          "$ref": "#/definitions/Element"
        },
        "location": {
          "description": "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.",
          "$ref": "#/definitions/Reference"
        },
        "performer": {
          "description": "Identifies who\u0027s expected to be involved in the activity.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "productCodeableConcept": {
          "description": "Identifies the food, drug or other product to be consumed or supplied in the activity.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "productReference": {
          "description": "Identifies the food, drug or other product to be consumed or supplied in the activity.",
          "$ref": "#/definitions/Reference"
        },
        "dailyAmount": {
          "description": "Identifies the quantity expected to be consumed in a given day.",
          "$ref": "#/definitions/Quantity"
        },
        "quantity": {
          "description": "Identifies the quantity expected to be supplied, administered or consumed by the subject.",
          "$ref": "#/definitions/Quantity"
        },
        "description": {
          "description": "This provides a textual description of constraints on the intended activity occurrence, including relation to other activities.  It may also include objectives, pre-conditions and end-conditions.  Finally, it may convey specifics about the activity such as body site, method, route, etc.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CareTeam": {
      "description": "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.",
      "properties": {
        "resourceType": {
          "description": "This is a CareTeam resource",
          "const": "CareTeam"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this care team that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Indicates the current state of the care team.",
          "enum": [
            "proposed",
            "active",
            "suspended",
            "inactive",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Identifies what kind of team.  This is to support differentiation between multiple co-existing teams, such as care plan team, episode of care team, longitudinal care team.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "name": {
          "description": "A label for human use intended to distinguish like teams.  E.g. the \"red\" vs. \"green\" trauma teams.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "subject": {
          "description": "Identifies the patient or group whose intended care is handled by the team.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter or episode of care that establishes the context for this care team.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "Indicates when the team did (or is intended to) come into effect and end.",
          "$ref": "#/definitions/Period"
        },
        "participant": {
          "description": "Identifies all people and organizations who are expected to be involved in the care team.",
          "items": {
            "$ref": "#/definitions/CareTeam_Participant"
          },
          "type": "array"
        },
        "reasonCode": {
          "description": "Describes why the care team exists.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Condition(s) that this care team addresses.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "managingOrganization": {
          "description": "The organization responsible for the care team.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "telecom": {
          "description": "A central contact detail for the care team (that applies to all members).",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "note": {
          "description": "Comments made about the CareTeam.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "CareTeam_Participant": {
      "description": "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "role": {
          "description": "Indicates specific responsibility of an individual within the care team, such as \"Primary care physician\", \"Trained social worker counselor\", \"Caregiver\", etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "member": {
          "description": "The specific person or organization who is participating/expected to participate in the care team.",
          "$ref": "#/definitions/Reference"
        },
        "onBehalfOf": {
          "description": "The organization of the practitioner.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "Indicates when the specific member or organization did (or is intended to) come into effect and end.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "ChargeItem": {
      "description": "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation.",
      "properties": {
        "resourceType": {
          "description": "This is a ChargeItem resource",
          "const": "ChargeItem"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifiers assigned to this event performer or other systems.",
          "$ref": "#/definitions/Identifier"
        },
        "definition": {
          "description": "References the source of pricing information, rules of application for the code this ChargeItem uses.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_definition": {
          "description": "Extensions for definition",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "status": {
          "description": "The current state of the ChargeItem.",
          "enum": [
            "planned",
            "billable",
            "not-billable",
            "aborted",
            "billed",
            "entered-in-error",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "partOf": {
          "description": "ChargeItems can be grouped to larger ChargeItems covering the whole set.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "code": {
          "description": "A code that identifies the charge, like a billing code.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The individual or set of individuals the action is being or was performed on.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter or episode of care that establishes the context for this event.",
          "$ref": "#/definitions/Reference"
        },
        "occurrenceDateTime": {
          "description": "Date/time(s) or duration when the charged service was applied.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_occurrenceDateTime": {
          "description": "Extensions for occurrenceDateTime",
          "$ref": "#/definitions/Element"
        },
        "occurrencePeriod": {
          "description": "Date/time(s) or duration when the charged service was applied.",
          "$ref": "#/definitions/Period"
        },
        "occurrenceTiming": {
          "description": "Date/time(s) or duration when the charged service was applied.",
          "$ref": "#/definitions/Timing"
        },
        "participant": {
          "description": "Indicates who or what performed or participated in the charged service.",
          "items": {
            "$ref": "#/definitions/ChargeItem_Participant"
          },
          "type": "array"
        },
        "performingOrganization": {
          "description": "The organization requesting the service.",
          "$ref": "#/definitions/Reference"
        },
        "requestingOrganization": {
          "description": "The organization performing the service.",
          "$ref": "#/definitions/Reference"
        },
        "quantity": {
          "description": "Quantity of which the charge item has been serviced.",
          "$ref": "#/definitions/Quantity"
        },
        "bodysite": {
          "description": "The anatomical location where the related service has been applied.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "factorOverride": {
          "description": "Factor overriding the factor determined by the rules associated with the code.",
          "$ref": "#/definitions/decimal"
        },
        "_factorOverride": {
          "description": "Extensions for factorOverride",
          "$ref": "#/definitions/Element"
        },
        "priceOverride": {
          "description": "Total price of the charge overriding the list price associated with the code.",
          "$ref": "#/definitions/Money"
        },
        "overrideReason": {
          "description": "If the list price or the rule based factor associated with the code is overridden, this attribute can capture a text to indicate the  reason for this action.",
          "$ref": "#/definitions/string"
        },
        "_overrideReason": {
          "description": "Extensions for overrideReason",
          "$ref": "#/definitions/Element"
        },
        "enterer": {
          "description": "The device, practitioner, etc. who entered the charge item.",
          "$ref": "#/definitions/Reference"
        },
        "enteredDate": {
          "description": "Date the charge item was entered.",
          "$ref": "#/definitions/dateTime"
        },
        "_enteredDate": {
          "description": "Extensions for enteredDate",
          "$ref": "#/definitions/Element"
        },
        "reason": {
          "description": "Describes why the event occurred in coded or textual form.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "service": {
          "description": "Indicated the rendered service that caused this charge.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "account": {
          "description": "Account into which this ChargeItems belongs.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Comments made about the event by the performer, subject or other participants.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "supportingInformation": {
          "description": "Further information supporting the this charge.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "code",
        "subject",
        "resourceType"
      ]
    },
    "ChargeItem_Participant": {
      "description": "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "role": {
          "description": "Describes the type of performance or participation(e.g. primary surgeon, anaesthesiologiest, etc.).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "actor": {
          "description": "The device, practitioner, etc. who performed or participated in the service.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "actor"
      ]
    },
    "Claim": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "resourceType": {
          "description": "This is a Claim resource",
          "const": "Claim"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The business identifier for the instance: claim number, pre-determination or pre-authorization number.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The category of claim, eg, oral, pharmacy, vision, insitutional, professional.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subType": {
          "description": "A finer grained suite of claim subtype codes which may convey Inpatient vs Outpatient and/or a specialty service. In the US the BillType.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "use": {
          "description": "Complete (Bill or Claim), Proposed (Pre-Authorization), Exploratory (Pre-determination).",
          "enum": [
            "complete",
            "proposed",
            "exploratory",
            "other"
          ]
        },
        "_use": {
          "description": "Extensions for use",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "Patient Resource.",
          "$ref": "#/definitions/Reference"
        },
        "billablePeriod": {
          "description": "The billable period for which charges are being submitted.",
          "$ref": "#/definitions/Period"
        },
        "created": {
          "description": "The date when the enclosed suite of services were performed or completed.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "enterer": {
          "description": "Person who created the invoice/claim/pre-determination or pre-authorization.",
          "$ref": "#/definitions/Reference"
        },
        "insurer": {
          "description": "The Insurer who is target of the request.",
          "$ref": "#/definitions/Reference"
        },
        "provider": {
          "description": "The provider which is responsible for the bill, claim pre-determination, pre-authorization.",
          "$ref": "#/definitions/Reference"
        },
        "organization": {
          "description": "The organization which is responsible for the bill, claim pre-determination, pre-authorization.",
          "$ref": "#/definitions/Reference"
        },
        "priority": {
          "description": "Immediate (STAT), best effort (NORMAL), deferred (DEFER).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "fundsReserve": {
          "description": "In the case of a Pre-Determination/Pre-Authorization the provider may request that funds in the amount of the expected Benefit be reserved (\u0027Patient\u0027 or \u0027Provider\u0027) to pay for the Benefits determined on the subsequent claim(s). \u0027None\u0027 explicitly indicates no funds reserving is requested.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "related": {
          "description": "Other claims which are related to this claim such as prior claim versions or for related services.",
          "items": {
            "$ref": "#/definitions/Claim_Related"
          },
          "type": "array"
        },
        "prescription": {
          "description": "Prescription to support the dispensing of Pharmacy or Vision products.",
          "$ref": "#/definitions/Reference"
        },
        "originalPrescription": {
          "description": "Original prescription which has been superceded by this prescription to support the dispensing of pharmacy services, medications or products. For example, a physician may prescribe a medication which the pharmacy determines is contraindicated, or for which the patient has an intolerance, and therefor issues a new precription for an alternate medication which has the same theraputic intent. The prescription from the pharmacy becomes the \u0027prescription\u0027 and that from the physician becomes the \u0027original prescription\u0027.",
          "$ref": "#/definitions/Reference"
        },
        "payee": {
          "description": "The party to be reimbursed for the services.",
          "$ref": "#/definitions/Claim_Payee"
        },
        "referral": {
          "description": "The referral resource which lists the date, practitioner, reason and other supporting information.",
          "$ref": "#/definitions/Reference"
        },
        "facility": {
          "description": "Facility where the services were provided.",
          "$ref": "#/definitions/Reference"
        },
        "careTeam": {
          "description": "The members of the team who provided the overall service as well as their role and whether responsible and qualifications.",
          "items": {
            "$ref": "#/definitions/Claim_CareTeam"
          },
          "type": "array"
        },
        "information": {
          "description": "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. Often there are mutiple jurisdiction specific valuesets which are required.",
          "items": {
            "$ref": "#/definitions/Claim_Information"
          },
          "type": "array"
        },
        "diagnosis": {
          "description": "List of patient diagnosis for which care is sought.",
          "items": {
            "$ref": "#/definitions/Claim_Diagnosis"
          },
          "type": "array"
        },
        "procedure": {
          "description": "Ordered list of patient procedures performed to support the adjudication.",
          "items": {
            "$ref": "#/definitions/Claim_Procedure"
          },
          "type": "array"
        },
        "insurance": {
          "description": "Financial instrument by which payment information for health care.",
          "items": {
            "$ref": "#/definitions/Claim_Insurance"
          },
          "type": "array"
        },
        "accident": {
          "description": "An accident which resulted in the need for healthcare services.",
          "$ref": "#/definitions/Claim_Accident"
        },
        "employmentImpacted": {
          "description": "The start and optional end dates of when the patient was precluded from working due to the treatable condition(s).",
          "$ref": "#/definitions/Period"
        },
        "hospitalization": {
          "description": "The start and optional end dates of when the patient was confined to a treatment center.",
          "$ref": "#/definitions/Period"
        },
        "item": {
          "description": "First tier of goods and services.",
          "items": {
            "$ref": "#/definitions/Claim_Item"
          },
          "type": "array"
        },
        "total": {
          "description": "The total value of the claim.",
          "$ref": "#/definitions/Money"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Claim_Related": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "claim": {
          "description": "Other claims which are related to this claim such as prior claim versions or for related services.",
          "$ref": "#/definitions/Reference"
        },
        "relationship": {
          "description": "For example prior or umbrella.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reference": {
          "description": "An alternate organizational reference to the case or file to which this particular claim pertains - eg Property/Casualy insurer claim # or Workers Compensation case # .",
          "$ref": "#/definitions/Identifier"
        }
      },
      "additionalProperties": false
    },
    "Claim_Payee": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Type of Party to be reimbursed: Subscriber, provider, other.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "resource": {
          "description": "organization | patient | practitioner | relatedperson.",
          "$ref": "#/definitions/Coding"
        },
        "party": {
          "description": "Party to be reimbursed: Subscriber, provider, other.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "Claim_CareTeam": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of the careTeam which serves to order and provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "provider": {
          "description": "Member of the team who provided the overall service.",
          "$ref": "#/definitions/Reference"
        },
        "responsible": {
          "description": "The party who is billing and responsible for the claimed good or service rendered to the patient.",
          "$ref": "#/definitions/boolean"
        },
        "_responsible": {
          "description": "Extensions for responsible",
          "$ref": "#/definitions/Element"
        },
        "role": {
          "description": "The lead, assisting or supervising practitioner and their discipline if a multidisiplinary team.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "qualification": {
          "description": "The qualification which is applicable for this service.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "provider"
      ]
    },
    "Claim_Information": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of the information element which serves to provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "The general class of the information supplied: information; exception; accident, employment; onset, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "code": {
          "description": "System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient  for which care is sought which may influence the adjudication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "timingDate": {
          "description": "The date when or period to which this information refers.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_timingDate": {
          "description": "Extensions for timingDate",
          "$ref": "#/definitions/Element"
        },
        "timingPeriod": {
          "description": "The date when or period to which this information refers.",
          "$ref": "#/definitions/Period"
        },
        "valueString": {
          "description": "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueQuantity": {
          "description": "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.",
          "$ref": "#/definitions/Quantity"
        },
        "valueAttachment": {
          "description": "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.",
          "$ref": "#/definitions/Attachment"
        },
        "valueReference": {
          "description": "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.",
          "$ref": "#/definitions/Reference"
        },
        "reason": {
          "description": "For example, provides the reason for: the additional stay, or missing tooth or any other situation where a reason code is required in addition to the content.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "category"
      ]
    },
    "Claim_Diagnosis": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of diagnosis which serves to provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "diagnosisCodeableConcept": {
          "description": "The diagnosis.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "diagnosisReference": {
          "description": "The diagnosis.",
          "$ref": "#/definitions/Reference"
        },
        "type": {
          "description": "The type of the Diagnosis, for example: admitting, primary, secondary, discharge.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "packageCode": {
          "description": "The package billing code, for example DRG, based on the assigned grouping code system.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "Claim_Procedure": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of procedures which serves to order and provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "Date and optionally time the procedure was performed .",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "procedureCodeableConcept": {
          "description": "The procedure code.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "procedureReference": {
          "description": "The procedure code.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Claim_Insurance": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of coverage which serves to provide a link and convey coordination of benefit order.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "focal": {
          "description": "A flag to indicate that this Coverage is the focus for adjudication. The Coverage against which the claim is to be adjudicated.",
          "$ref": "#/definitions/boolean"
        },
        "_focal": {
          "description": "Extensions for focal",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "The business identifier for the instance: claim number, pre-determination or pre-authorization number.",
          "$ref": "#/definitions/Identifier"
        },
        "coverage": {
          "description": "Reference to the program or plan identification, underwriter or payor.",
          "$ref": "#/definitions/Reference"
        },
        "businessArrangement": {
          "description": "The contract number of a business agreement which describes the terms and conditions.",
          "$ref": "#/definitions/string"
        },
        "_businessArrangement": {
          "description": "Extensions for businessArrangement",
          "$ref": "#/definitions/Element"
        },
        "preAuthRef": {
          "description": "A list of references from the Insurer to which these services pertain.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_preAuthRef": {
          "description": "Extensions for preAuthRef",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "claimResponse": {
          "description": "The Coverages adjudication details.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "coverage"
      ]
    },
    "Claim_Accident": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "date": {
          "description": "Date of an accident which these services are addressing.",
          "$ref": "#/definitions/date"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Type of accident: work, auto, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "locationAddress": {
          "description": "Accident Place.",
          "$ref": "#/definitions/Address"
        },
        "locationReference": {
          "description": "Accident Place.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Claim_Item": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "A service line number.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "careTeamSequence": {
          "description": "CareTeam applicable for this service or product line.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_careTeamSequence": {
          "description": "Extensions for careTeamSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "diagnosisSequence": {
          "description": "Diagnosis applicable for this service or product line.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_diagnosisSequence": {
          "description": "Extensions for diagnosisSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "procedureSequence": {
          "description": "Procedures applicable for this service or product line.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_procedureSequence": {
          "description": "Extensions for procedureSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "informationSequence": {
          "description": "Exceptions, special conditions and supporting information pplicable for this service or product line.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_informationSequence": {
          "description": "Extensions for informationSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "revenue": {
          "description": "The type of reveneu or cost center providing the product and/or service.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "category": {
          "description": "Health Care Service Type Codes  to identify the classification of service or benefits.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "service": {
          "description": "If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,RXNorm,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. \u0027glasses\u0027 or \u0027compound\u0027.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "modifier": {
          "description": "Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "programCode": {
          "description": "For programs which require reason codes for the inclusion or covering of this billed item under the program or sub-program.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "servicedDate": {
          "description": "The date or dates when the enclosed suite of services were performed or completed.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_servicedDate": {
          "description": "Extensions for servicedDate",
          "$ref": "#/definitions/Element"
        },
        "servicedPeriod": {
          "description": "The date or dates when the enclosed suite of services were performed or completed.",
          "$ref": "#/definitions/Period"
        },
        "locationCodeableConcept": {
          "description": "Where the service was provided.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "locationAddress": {
          "description": "Where the service was provided.",
          "$ref": "#/definitions/Address"
        },
        "locationReference": {
          "description": "Where the service was provided.",
          "$ref": "#/definitions/Reference"
        },
        "quantity": {
          "description": "The number of repetitions of a service or product.",
          "$ref": "#/definitions/Quantity"
        },
        "unitPrice": {
          "description": "If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group.",
          "$ref": "#/definitions/Money"
        },
        "factor": {
          "description": "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
          "$ref": "#/definitions/decimal"
        },
        "_factor": {
          "description": "Extensions for factor",
          "$ref": "#/definitions/Element"
        },
        "net": {
          "description": "The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points \u003d net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
          "$ref": "#/definitions/Money"
        },
        "udi": {
          "description": "List of Unique Device Identifiers associated with this line item.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "bodySite": {
          "description": "Physical service site on the patient (limb, tooth, etc).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subSite": {
          "description": "A region or surface of the site, eg. limb region or tooth surface(s).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "encounter": {
          "description": "A billed item may include goods or services provided in multiple encounters.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "detail": {
          "description": "Second tier of goods and services.",
          "items": {
            "$ref": "#/definitions/Claim_Detail"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Claim_Detail": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "A service line number.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "revenue": {
          "description": "The type of reveneu or cost center providing the product and/or service.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "category": {
          "description": "Health Care Service Type Codes  to identify the classification of service or benefits.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "service": {
          "description": "If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. \u0027glasses\u0027 or \u0027compound\u0027.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "modifier": {
          "description": "Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "programCode": {
          "description": "For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "quantity": {
          "description": "The number of repetitions of a service or product.",
          "$ref": "#/definitions/Quantity"
        },
        "unitPrice": {
          "description": "If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group.",
          "$ref": "#/definitions/Money"
        },
        "factor": {
          "description": "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
          "$ref": "#/definitions/decimal"
        },
        "_factor": {
          "description": "Extensions for factor",
          "$ref": "#/definitions/Element"
        },
        "net": {
          "description": "The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points \u003d net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
          "$ref": "#/definitions/Money"
        },
        "udi": {
          "description": "List of Unique Device Identifiers associated with this line item.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "subDetail": {
          "description": "Third tier of goods and services.",
          "items": {
            "$ref": "#/definitions/Claim_SubDetail"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Claim_SubDetail": {
      "description": "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "A service line number.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "revenue": {
          "description": "The type of reveneu or cost center providing the product and/or service.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "category": {
          "description": "Health Care Service Type Codes  to identify the classification of service or benefits.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "service": {
          "description": "A code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "modifier": {
          "description": "Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "programCode": {
          "description": "For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "quantity": {
          "description": "The number of repetitions of a service or product.",
          "$ref": "#/definitions/Quantity"
        },
        "unitPrice": {
          "description": "The fee for an addittional service or product or charge.",
          "$ref": "#/definitions/Money"
        },
        "factor": {
          "description": "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
          "$ref": "#/definitions/decimal"
        },
        "_factor": {
          "description": "Extensions for factor",
          "$ref": "#/definitions/Element"
        },
        "net": {
          "description": "The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points \u003d net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
          "$ref": "#/definitions/Money"
        },
        "udi": {
          "description": "List of Unique Device Identifiers associated with this line item.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ClaimResponse": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "resourceType": {
          "description": "This is a ClaimResponse resource",
          "const": "ClaimResponse"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The Response business identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "Patient Resource.",
          "$ref": "#/definitions/Reference"
        },
        "created": {
          "description": "The date when the enclosed suite of services were performed or completed.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "insurer": {
          "description": "The Insurer who produced this adjudicated response.",
          "$ref": "#/definitions/Reference"
        },
        "requestProvider": {
          "description": "The practitioner who is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "requestOrganization": {
          "description": "The organization which is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "request": {
          "description": "Original request resource referrence.",
          "$ref": "#/definitions/Reference"
        },
        "outcome": {
          "description": "Transaction: error, complete, partial processing.",
          "$ref": "#/definitions/code"
        },
        "_outcome": {
          "description": "Extensions for outcome",
          "$ref": "#/definitions/Element"
        },
        "disposition": {
          "description": "A description of the status of the adjudication.",
          "$ref": "#/definitions/string"
        },
        "_disposition": {
          "description": "Extensions for disposition",
          "$ref": "#/definitions/Element"
        },
        "payeeType": {
          "description": "Party to be reimbursed: Subscriber, provider, other.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "item": {
          "description": "The first tier service adjudications for submitted services.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_Item"
          },
          "type": "array"
        },
        "addItem": {
          "description": "The first tier service adjudications for payor added services.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_AddItem"
          },
          "type": "array"
        },
        "error": {
          "description": "Mutually exclusive with Services Provided (Item).",
          "items": {
            "$ref": "#/definitions/ClaimResponse_Error"
          },
          "type": "array"
        },
        "totalCost": {
          "description": "The total cost of the services reported.",
          "$ref": "#/definitions/Money"
        },
        "unallocDeductable": {
          "description": "The amount of deductible applied which was not allocated to any particular service line.",
          "$ref": "#/definitions/Money"
        },
        "totalBenefit": {
          "description": "Total amount of benefit payable (Equal to sum of the Benefit amounts from all detail lines and additions less the Unallocated Deductible).",
          "$ref": "#/definitions/Money"
        },
        "payment": {
          "description": "Payment details for the claim if the claim has been paid.",
          "$ref": "#/definitions/ClaimResponse_Payment"
        },
        "reserved": {
          "description": "Status of funds reservation (For provider, for Patient, None).",
          "$ref": "#/definitions/Coding"
        },
        "form": {
          "description": "The form to be used for printing the content.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "processNote": {
          "description": "Note text.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_ProcessNote"
          },
          "type": "array"
        },
        "communicationRequest": {
          "description": "Request for additional supporting or authorizing information, such as: documents, images or resources.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "insurance": {
          "description": "Financial instrument by which payment information for health care.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_Insurance"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ClaimResponse_Item": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "itemSequence": {
          "description": "A service line number.",
          "$ref": "#/definitions/positiveInt"
        },
        "_itemSequence": {
          "description": "Extensions for itemSequence",
          "$ref": "#/definitions/Element"
        },
        "noteNumber": {
          "description": "A list of note references to the notes provided below.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_noteNumber": {
          "description": "Extensions for noteNumber",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "adjudication": {
          "description": "The adjudication results.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_Adjudication"
          },
          "type": "array"
        },
        "detail": {
          "description": "The second tier service adjudications for submitted services.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_Detail"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ClaimResponse_Adjudication": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "category": {
          "description": "Code indicating: Co-Pay, deductible, eligible, benefit, tax, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reason": {
          "description": "Adjudication reason such as limit reached.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "amount": {
          "description": "Monetary amount associated with the code.",
          "$ref": "#/definitions/Money"
        },
        "value": {
          "description": "A non-monetary value for example a percentage. Mutually exclusive to the amount element above.",
          "$ref": "#/definitions/decimal"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "category"
      ]
    },
    "ClaimResponse_Detail": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "detailSequence": {
          "description": "A service line number.",
          "$ref": "#/definitions/positiveInt"
        },
        "_detailSequence": {
          "description": "Extensions for detailSequence",
          "$ref": "#/definitions/Element"
        },
        "noteNumber": {
          "description": "A list of note references to the notes provided below.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_noteNumber": {
          "description": "Extensions for noteNumber",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "adjudication": {
          "description": "The adjudications results.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_Adjudication"
          },
          "type": "array"
        },
        "subDetail": {
          "description": "The third tier service adjudications for submitted services.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_SubDetail"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ClaimResponse_SubDetail": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "subDetailSequence": {
          "description": "A service line number.",
          "$ref": "#/definitions/positiveInt"
        },
        "_subDetailSequence": {
          "description": "Extensions for subDetailSequence",
          "$ref": "#/definitions/Element"
        },
        "noteNumber": {
          "description": "A list of note references to the notes provided below.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_noteNumber": {
          "description": "Extensions for noteNumber",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "adjudication": {
          "description": "The adjudications results.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_Adjudication"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ClaimResponse_AddItem": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "itemSequence": {
          "description": "List of input service items which this service line is intended to replace.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_itemSequence": {
          "description": "Extensions for itemSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "detailSequence": {
          "description": "The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_detailSequence": {
          "description": "Extensions for detailSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "subdetailSequence": {
          "description": "The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_subdetailSequence": {
          "description": "Extensions for subdetailSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "service": {
          "description": "A code to indicate the Professional Service or Product supplied.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "modifier": {
          "description": "Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "fee": {
          "description": "The fee charged for the professional service or product..",
          "$ref": "#/definitions/Money"
        },
        "noteNumber": {
          "description": "A list of note references to the notes provided below.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_noteNumber": {
          "description": "Extensions for noteNumber",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "adjudication": {
          "description": "The adjudications results.",
          "items": {
            "$ref": "#/definitions/ClaimResponse_Adjudication"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ClaimResponse_Error": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "itemSequence": {
          "description": "The sequence number of the line item submitted which contains the error. This value is omitted when the error is elsewhere.",
          "$ref": "#/definitions/positiveInt"
        },
        "_itemSequence": {
          "description": "Extensions for itemSequence",
          "$ref": "#/definitions/Element"
        },
        "detailSequence": {
          "description": "The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition.",
          "$ref": "#/definitions/positiveInt"
        },
        "_detailSequence": {
          "description": "Extensions for detailSequence",
          "$ref": "#/definitions/Element"
        },
        "subDetailSequence": {
          "description": "The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition.",
          "$ref": "#/definitions/positiveInt"
        },
        "_subDetailSequence": {
          "description": "Extensions for subDetailSequence",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "An error code,from a specified code system, which details why the claim could not be adjudicated.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "ClaimResponse_Payment": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Whether this represents partial or complete payment of the claim.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "adjustment": {
          "description": "Adjustment to the payment of this transaction which is not related to adjudication of this transaction.",
          "$ref": "#/definitions/Money"
        },
        "adjustmentReason": {
          "description": "Reason for the payment adjustment.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "date": {
          "description": "Estimated payment data.",
          "$ref": "#/definitions/date"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "amount": {
          "description": "Payable less any payment adjustment.",
          "$ref": "#/definitions/Money"
        },
        "identifier": {
          "description": "Payment identifier.",
          "$ref": "#/definitions/Identifier"
        }
      },
      "additionalProperties": false
    },
    "ClaimResponse_ProcessNote": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "number": {
          "description": "An integer associated with each note which may be referred to from each service line item.",
          "$ref": "#/definitions/positiveInt"
        },
        "_number": {
          "description": "Extensions for number",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The note purpose: Print/Display.",
          "enum": [
            "display",
            "print",
            "printoper"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "The note text.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "ClaimResponse_Insurance": {
      "description": "This resource provides the adjudication details from the processing of a Claim resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "A service line item.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "focal": {
          "description": "The instance number of the Coverage which is the focus for adjudication. The Coverage against which the claim is to be adjudicated.",
          "$ref": "#/definitions/boolean"
        },
        "_focal": {
          "description": "Extensions for focal",
          "$ref": "#/definitions/Element"
        },
        "coverage": {
          "description": "Reference to the program or plan identification, underwriter or payor.",
          "$ref": "#/definitions/Reference"
        },
        "businessArrangement": {
          "description": "The contract number of a business agreement which describes the terms and conditions.",
          "$ref": "#/definitions/string"
        },
        "_businessArrangement": {
          "description": "Extensions for businessArrangement",
          "$ref": "#/definitions/Element"
        },
        "preAuthRef": {
          "description": "A list of references from the Insurer to which these services pertain.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_preAuthRef": {
          "description": "Extensions for preAuthRef",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "claimResponse": {
          "description": "The Coverages adjudication details.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "coverage"
      ]
    },
    "ClinicalImpression": {
      "description": "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient\u0027s condition. Assessments are often 1:1 with a clinical consultation / encounter,  but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score.",
      "properties": {
        "resourceType": {
          "description": "This is a ClinicalImpression resource",
          "const": "ClinicalImpression"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A unique identifier assigned to the clinical impression that remains consistent regardless of what server the impression is stored on.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Identifies the workflow status of the assessment.",
          "enum": [
            "draft",
            "completed",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "Categorizes the type of clinical assessment performed.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "A summary of the context and/or cause of the assessment - why / where was it performed, and what patient events/status prompted it.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "subject": {
          "description": "The patient or group of individuals assessed as part of this record.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter or episode of care this impression was created as part of.",
          "$ref": "#/definitions/Reference"
        },
        "effectiveDateTime": {
          "description": "The point in time or period over which the subject was assessed.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_effectiveDateTime": {
          "description": "Extensions for effectiveDateTime",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The point in time or period over which the subject was assessed.",
          "$ref": "#/definitions/Period"
        },
        "date": {
          "description": "Indicates when the documentation of the assessment was complete.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "assessor": {
          "description": "The clinician performing the assessment.",
          "$ref": "#/definitions/Reference"
        },
        "previous": {
          "description": "A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient\u0027s conditions changes.",
          "$ref": "#/definitions/Reference"
        },
        "problem": {
          "description": "This a list of the relevant problems/conditions for a patient.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "investigation": {
          "description": "One or more sets of investigations (signs, symptions, etc.). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes.",
          "items": {
            "$ref": "#/definitions/ClinicalImpression_Investigation"
          },
          "type": "array"
        },
        "protocol": {
          "description": "Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_protocol": {
          "description": "Extensions for protocol",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "summary": {
          "description": "A text summary of the investigations and the diagnosis.",
          "$ref": "#/definitions/string"
        },
        "_summary": {
          "description": "Extensions for summary",
          "$ref": "#/definitions/Element"
        },
        "finding": {
          "description": "Specific findings or diagnoses that was considered likely or relevant to ongoing treatment.",
          "items": {
            "$ref": "#/definitions/ClinicalImpression_Finding"
          },
          "type": "array"
        },
        "prognosisCodeableConcept": {
          "description": "Estimate of likely outcome.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "prognosisReference": {
          "description": "RiskAssessment expressing likely outcome.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "action": {
          "description": "Action taken as part of assessment procedure.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Commentary about the impression, typically recorded after the impression itself was made, though supplemental notes by the original author could also appear.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "ClinicalImpression_Investigation": {
      "description": "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient\u0027s condition. Assessments are often 1:1 with a clinical consultation / encounter,  but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A name/code for the group (\"set\") of investigations. Typically, this will be something like \"signs\", \"symptoms\", \"clinical\", \"diagnostic\", but the list is not constrained, and others such groups such as (exposure|family|travel|nutitirional) history may be used.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "item": {
          "description": "A record of a specific investigation that was undertaken.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "ClinicalImpression_Finding": {
      "description": "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient\u0027s condition. Assessments are often 1:1 with a clinical consultation / encounter,  but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "itemCodeableConcept": {
          "description": "Specific text or code for finding or diagnosis, which may include ruled-out or resolved conditions.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "itemReference": {
          "description": "Specific reference for finding or diagnosis, which may include ruled-out or resolved conditions.",
          "$ref": "#/definitions/Reference"
        },
        "basis": {
          "description": "Which investigations support finding or diagnosis.",
          "$ref": "#/definitions/string"
        },
        "_basis": {
          "description": "Extensions for basis",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CodeSystem": {
      "description": "A code system resource specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "resourceType": {
          "description": "This is a CodeSystem resource",
          "const": "CodeSystem"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this code system is (or will be) published. This is used in [Coding](datatypes.html#Coding).system.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "$ref": "#/definitions/Identifier"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. This is used in [Coding](datatypes.html#Coding).version.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the code system.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this code system. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the code system was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the code system.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the code system from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate code system instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the code system is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this code system is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "caseSensitive": {
          "description": "If code comparison is case sensitive when codes within this system are compared to each other.",
          "$ref": "#/definitions/boolean"
        },
        "_caseSensitive": {
          "description": "Extensions for caseSensitive",
          "$ref": "#/definitions/Element"
        },
        "valueSet": {
          "description": "Canonical URL of value set that contains the entire code system.",
          "$ref": "#/definitions/uri"
        },
        "_valueSet": {
          "description": "Extensions for valueSet",
          "$ref": "#/definitions/Element"
        },
        "hierarchyMeaning": {
          "description": "The meaning of the hierarchy of concepts.",
          "enum": [
            "grouped-by",
            "is-a",
            "part-of",
            "classified-with"
          ]
        },
        "_hierarchyMeaning": {
          "description": "Extensions for hierarchyMeaning",
          "$ref": "#/definitions/Element"
        },
        "compositional": {
          "description": "True If code system defines a post-composition grammar.",
          "$ref": "#/definitions/boolean"
        },
        "_compositional": {
          "description": "Extensions for compositional",
          "$ref": "#/definitions/Element"
        },
        "versionNeeded": {
          "description": "This flag is used to signify that the code system has not (or does not) maintain the definitions, and a version must be specified when referencing this code system.",
          "$ref": "#/definitions/boolean"
        },
        "_versionNeeded": {
          "description": "Extensions for versionNeeded",
          "$ref": "#/definitions/Element"
        },
        "content": {
          "description": "How much of the content of the code system - the concepts and codes it defines - are represented in this resource.",
          "enum": [
            "not-present",
            "example",
            "fragment",
            "complete",
            "supplement"
          ]
        },
        "_content": {
          "description": "Extensions for content",
          "$ref": "#/definitions/Element"
        },
        "supplements": {
          "description": "Defines the code system that this code system supplement is adding designations and properties too.",
          "$ref": "#/definitions/Reference"
        },
        "count": {
          "description": "The total number of concepts defined by the code system. Where the code system has a compositional grammar, the count refers to the number of base (primitive) concepts.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_count": {
          "description": "Extensions for count",
          "$ref": "#/definitions/Element"
        },
        "filter": {
          "description": "A filter that can be used in a value set compose statement when selecting concepts using a filter.",
          "items": {
            "$ref": "#/definitions/CodeSystem_Filter"
          },
          "type": "array"
        },
        "property": {
          "description": "A property defines an additional slot through which additional information can be provided about a concept.",
          "items": {
            "$ref": "#/definitions/CodeSystem_Property"
          },
          "type": "array"
        },
        "concept": {
          "description": "Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are.",
          "items": {
            "$ref": "#/definitions/CodeSystem_Concept"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "CodeSystem_Filter": {
      "description": "A code system resource specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The code that identifies this filter when it is used in the instance.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A description of how or why the filter is used.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "operator": {
          "description": "A list of operators that can be used with the filter.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_operator": {
          "description": "Extensions for operator",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "value": {
          "description": "A description of what the value for the filter should be.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CodeSystem_Property": {
      "description": "A code system resource specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "uri": {
          "description": "Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.",
          "$ref": "#/definitions/uri"
        },
        "_uri": {
          "description": "Extensions for uri",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A description of the property- why it is defined, and how its value might be used.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of the property value. Properties of type \"code\" contain a code defined by the code system (e.g. a reference to another defined concept).",
          "enum": [
            "code",
            "Coding",
            "string",
            "integer",
            "boolean",
            "dateTime"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CodeSystem_Concept": {
      "description": "A code system resource specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code - a text symbol - that uniquely identifies the concept within the code system.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "A human readable string that is the recommended default way to present this concept to a user.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept.",
          "$ref": "#/definitions/string"
        },
        "_definition": {
          "description": "Extensions for definition",
          "$ref": "#/definitions/Element"
        },
        "designation": {
          "description": "Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc.",
          "items": {
            "$ref": "#/definitions/CodeSystem_Designation"
          },
          "type": "array"
        },
        "property": {
          "description": "A property value for this concept.",
          "items": {
            "$ref": "#/definitions/CodeSystem_Property1"
          },
          "type": "array"
        },
        "concept": {
          "description": "Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning.",
          "items": {
            "$ref": "#/definitions/CodeSystem_Concept"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "CodeSystem_Designation": {
      "description": "A code system resource specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "language": {
          "description": "The language this designation is defined for.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "use": {
          "description": "A code that details how this designation would be used.",
          "$ref": "#/definitions/Coding"
        },
        "value": {
          "description": "The text value for this designation.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "CodeSystem_Property1": {
      "description": "A code system resource specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code that is a reference to CodeSystem.property.code.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "valueCode": {
          "description": "The value of this property.",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_valueCode": {
          "description": "Extensions for valueCode",
          "$ref": "#/definitions/Element"
        },
        "valueCoding": {
          "description": "The value of this property.",
          "$ref": "#/definitions/Coding"
        },
        "valueString": {
          "description": "The value of this property.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "The value of this property.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueBoolean": {
          "description": "The value of this property.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "The value of this property.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Communication": {
      "description": "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.",
      "properties": {
        "resourceType": {
          "description": "This is a Communication resource",
          "const": "Communication"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifiers associated with this Communication that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "instantiates": {
          "description": "A protocol, guideline, or other definition that was adhered to in whole or in part by this communication event.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "An order, proposal or plan fulfilled in whole or in part by this Communication.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "partOf": {
          "description": "Part of this action.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "inResponseTo": {
          "description": "Prior communication that this communication is in response to.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the transmission.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "statusReason": {
          "description": "Captures the reason for the current state of the Communication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "category": {
          "description": "The type of message conveyed such as alert, notification, reminder, instruction, etc.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "priority": {
          "description": "Characterizes how quickly the planned or in progress communication must be addressed. Includes concepts such as stat, urgent, routine.",
          "$ref": "#/definitions/code"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        },
        "medium": {
          "description": "A channel that was used for this communication (e.g. email, fax).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "subject": {
          "description": "The patient or group that was the focus of this communication.",
          "$ref": "#/definitions/Reference"
        },
        "recipient": {
          "description": "The entity (e.g. person, organization, clinical information system, care team or device) which was the target of the communication. If receipts need to be tracked by individual, a separate resource instance will need to be created for each recipient.  Multiple recipient communications are intended where either a receipt(s) is not tracked (e.g. a mass mail-out) or is captured in aggregate (all emails confirmed received by a particular time).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "topic": {
          "description": "Description of the purpose/content, similar to a subject line in an email.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "about": {
          "description": "Other resources that pertain to this communication and to which this communication should be associated.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "context": {
          "description": "The encounter within which the communication was sent.",
          "$ref": "#/definitions/Reference"
        },
        "sent": {
          "description": "The time when this communication was sent.",
          "$ref": "#/definitions/dateTime"
        },
        "_sent": {
          "description": "Extensions for sent",
          "$ref": "#/definitions/Element"
        },
        "received": {
          "description": "The time when this communication arrived at the destination.",
          "$ref": "#/definitions/dateTime"
        },
        "_received": {
          "description": "Extensions for received",
          "$ref": "#/definitions/Element"
        },
        "sender": {
          "description": "The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "The reason or justification for the communication.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Indicates another resource whose existence justifies this communication.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "payload": {
          "description": "Text, attachment(s), or resource(s) that was communicated to the recipient.",
          "items": {
            "$ref": "#/definitions/Communication_Payload"
          },
          "type": "array"
        },
        "note": {
          "description": "Additional notes or commentary about the communication by the sender, receiver or other interested parties.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Communication_Payload": {
      "description": "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "contentString": {
          "description": "A communicated content (or for multi-part communications, one portion of the communication).",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_contentString": {
          "description": "Extensions for contentString",
          "$ref": "#/definitions/Element"
        },
        "contentAttachment": {
          "description": "A communicated content (or for multi-part communications, one portion of the communication).",
          "$ref": "#/definitions/Attachment"
        },
        "contentReference": {
          "description": "A communicated content (or for multi-part communications, one portion of the communication).",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "CommunicationRequest": {
      "description": "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.",
      "properties": {
        "resourceType": {
          "description": "This is a CommunicationRequest resource",
          "const": "CommunicationRequest"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A unique ID of this request for reference purposes. It must be provided if user wants it returned as part of any output, otherwise it will be autogenerated, if needed, by CDS system. Does not need to be the actual ID of the source system.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "A plan or proposal that is fulfilled in whole or in part by this request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "replaces": {
          "description": "Completed or terminated request(s) whose function is taken by this new request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "groupIdentifier": {
          "description": "A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "The status of the proposal or order.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "The type of message to be sent such as alert, notification, reminder, instruction, etc.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "priority": {
          "description": "Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routine.",
          "$ref": "#/definitions/code"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        },
        "medium": {
          "description": "A channel that was used for this communication (e.g. email, fax).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "subject": {
          "description": "The patient or group that is the focus of this communication request.",
          "$ref": "#/definitions/Reference"
        },
        "recipient": {
          "description": "The entity (e.g. person, organization, clinical information system, device, group, or care team) which is the intended target of the communication.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "about": {
          "description": "Other resources that pertain to this communication request and to which this communication request should be associated.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "context": {
          "description": "The encounter or episode of care within which the communication request was created.",
          "$ref": "#/definitions/Reference"
        },
        "payload": {
          "description": "Text, attachment(s), or resource(s) to be communicated to the recipient.",
          "items": {
            "$ref": "#/definitions/CommunicationRequest_Payload"
          },
          "type": "array"
        },
        "occurrenceDateTime": {
          "description": "The time when this communication is to occur.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_occurrenceDateTime": {
          "description": "Extensions for occurrenceDateTime",
          "$ref": "#/definitions/Element"
        },
        "occurrencePeriod": {
          "description": "The time when this communication is to occur.",
          "$ref": "#/definitions/Period"
        },
        "authoredOn": {
          "description": "For draft requests, indicates the date of initial creation.  For requests with other statuses, indicates the date of activation.",
          "$ref": "#/definitions/dateTime"
        },
        "_authoredOn": {
          "description": "Extensions for authoredOn",
          "$ref": "#/definitions/Element"
        },
        "requester": {
          "description": "The device, individual, or organization who initiated the request and has responsibility for its activation.",
          "$ref": "#/definitions/Reference"
        },
        "sender": {
          "description": "The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communication.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "Describes why the request is being made in coded or textual form.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Indicates another resource whose existence justifies this request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Comments made about the request by the requester, sender, recipient, subject or other participants.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "CommunicationRequest_Payload": {
      "description": "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "contentString": {
          "description": "The communicated content (or for multi-part communications, one portion of the communication).",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_contentString": {
          "description": "Extensions for contentString",
          "$ref": "#/definitions/Element"
        },
        "contentAttachment": {
          "description": "The communicated content (or for multi-part communications, one portion of the communication).",
          "$ref": "#/definitions/Attachment"
        },
        "contentReference": {
          "description": "The communicated content (or for multi-part communications, one portion of the communication).",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "CompartmentDefinition": {
      "description": "A compartment definition that defines how resources are accessed on a server.",
      "properties": {
        "resourceType": {
          "description": "This is a CompartmentDefinition resource",
          "const": "CompartmentDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this compartment definition is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the compartment definition.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this compartment definition. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this compartment definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the compartment definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the compartment definition.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the compartment definition from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "Explaination of why this compartment definition is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate compartment definition instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the compartment definition is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "code": {
          "description": "Which compartment this definition describes.",
          "enum": [
            "Patient",
            "Encounter",
            "RelatedPerson",
            "Practitioner",
            "Device"
          ]
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "search": {
          "description": "Whether the search syntax is supported,.",
          "$ref": "#/definitions/boolean"
        },
        "_search": {
          "description": "Extensions for search",
          "$ref": "#/definitions/Element"
        },
        "resource": {
          "description": "Information about how a resource is related to the compartment.",
          "items": {
            "$ref": "#/definitions/CompartmentDefinition_Resource"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "CompartmentDefinition_Resource": {
      "description": "A compartment definition that defines how resources are accessed on a server.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The name of a resource supported by the server.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "param": {
          "description": "The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_param": {
          "description": "Extensions for param",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "documentation": {
          "description": "Additional documentation about the resource and compartment.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Composition": {
      "description": "A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.",
      "properties": {
        "resourceType": {
          "description": "This is a Composition resource",
          "const": "Composition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Logical identifier for the composition, assigned when created. This identifier stays constant as the composition is changed over time.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document.",
          "enum": [
            "preliminary",
            "final",
            "amended",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "class": {
          "description": "A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).",
          "$ref": "#/definitions/Reference"
        },
        "encounter": {
          "description": "Describes the clinical encounter or type of care this documentation is associated with.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The composition editing time, when the composition was last logically changed by the author.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "author": {
          "description": "Identifies who is responsible for the information in the composition, not necessarily who typed it in.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "title": {
          "description": "Official human-readable label for the composition.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "confidentiality": {
          "description": "The code specifying the level of confidentiality of the Composition.",
          "$ref": "#/definitions/code"
        },
        "_confidentiality": {
          "description": "Extensions for confidentiality",
          "$ref": "#/definitions/Element"
        },
        "attester": {
          "description": "A participant who has attested to the accuracy of the composition/document.",
          "items": {
            "$ref": "#/definitions/Composition_Attester"
          },
          "type": "array"
        },
        "custodian": {
          "description": "Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.",
          "$ref": "#/definitions/Reference"
        },
        "relatesTo": {
          "description": "Relationships that this composition has with other compositions or documents that already exist.",
          "items": {
            "$ref": "#/definitions/Composition_RelatesTo"
          },
          "type": "array"
        },
        "event": {
          "description": "The clinical service, such as a colonoscopy or an appendectomy, being documented.",
          "items": {
            "$ref": "#/definitions/Composition_Event"
          },
          "type": "array"
        },
        "section": {
          "description": "The root of the sections that make up the composition.",
          "items": {
            "$ref": "#/definitions/Composition_Section"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "author",
        "type",
        "resourceType"
      ]
    },
    "Composition_Attester": {
      "description": "A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "mode": {
          "description": "The type of attestation the authenticator offers.",
          "items": {
            "enum": [
              "personal",
              "professional",
              "legal",
              "official"
            ]
          },
          "type": "array"
        },
        "_mode": {
          "description": "Extensions for mode",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "time": {
          "description": "When the composition was attested by the party.",
          "$ref": "#/definitions/dateTime"
        },
        "_time": {
          "description": "Extensions for time",
          "$ref": "#/definitions/Element"
        },
        "party": {
          "description": "Who attested the composition in the specified way.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Composition_RelatesTo": {
      "description": "A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The type of relationship that this composition has with anther composition or document.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "targetIdentifier": {
          "description": "The target composition/document of this relationship.",
          "$ref": "#/definitions/Identifier"
        },
        "targetReference": {
          "description": "The target composition/document of this relationship.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Composition_Event": {
      "description": "A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "period": {
          "description": "The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time.",
          "$ref": "#/definitions/Period"
        },
        "detail": {
          "description": "The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Composition_Section": {
      "description": "A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "title": {
          "description": "The label for this particular section.  This will be part of the rendered content for the document, and is often used to build a table of contents.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A code identifying the kind of content contained within the section. This must be consistent with the section title.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "text": {
          "description": "A human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative.",
          "$ref": "#/definitions/Narrative"
        },
        "mode": {
          "description": "How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.",
          "$ref": "#/definitions/code"
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "orderedBy": {
          "description": "Specifies the order applied to the items in the section entries.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "entry": {
          "description": "A reference to the actual resource from which the narrative in the section is derived.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "emptyReason": {
          "description": "If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "section": {
          "description": "A nested sub-section within this section.",
          "items": {
            "$ref": "#/definitions/Composition_Section"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ConceptMap": {
      "description": "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.",
      "properties": {
        "resourceType": {
          "description": "This is a ConceptMap resource",
          "const": "ConceptMap"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this concept map is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "$ref": "#/definitions/Identifier"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the concept map.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this concept map. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the concept map was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the concept map.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the concept map from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate concept map instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the concept map is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this concept map is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "sourceUri": {
          "description": "The source value set that specifies the concepts that are being mapped.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_sourceUri": {
          "description": "Extensions for sourceUri",
          "$ref": "#/definitions/Element"
        },
        "sourceReference": {
          "description": "The source value set that specifies the concepts that are being mapped.",
          "$ref": "#/definitions/Reference"
        },
        "targetUri": {
          "description": "The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_targetUri": {
          "description": "Extensions for targetUri",
          "$ref": "#/definitions/Element"
        },
        "targetReference": {
          "description": "The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.",
          "$ref": "#/definitions/Reference"
        },
        "group": {
          "description": "A group of mappings that all have the same source and target system.",
          "items": {
            "$ref": "#/definitions/ConceptMap_Group"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ConceptMap_Group": {
      "description": "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "source": {
          "description": "An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system).",
          "$ref": "#/definitions/uri"
        },
        "_source": {
          "description": "Extensions for source",
          "$ref": "#/definitions/Element"
        },
        "sourceVersion": {
          "description": "The specific version of the code system, as determined by the code system authority.",
          "$ref": "#/definitions/string"
        },
        "_sourceVersion": {
          "description": "Extensions for sourceVersion",
          "$ref": "#/definitions/Element"
        },
        "target": {
          "description": "An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems).",
          "$ref": "#/definitions/uri"
        },
        "_target": {
          "description": "Extensions for target",
          "$ref": "#/definitions/Element"
        },
        "targetVersion": {
          "description": "The specific version of the code system, as determined by the code system authority.",
          "$ref": "#/definitions/string"
        },
        "_targetVersion": {
          "description": "Extensions for targetVersion",
          "$ref": "#/definitions/Element"
        },
        "element": {
          "description": "Mappings for an individual concept in the source to one or more concepts in the target.",
          "items": {
            "$ref": "#/definitions/ConceptMap_Element"
          },
          "type": "array"
        },
        "unmapped": {
          "description": "What to do when there is no match in the mappings in the group.",
          "$ref": "#/definitions/ConceptMap_Unmapped"
        }
      },
      "additionalProperties": false,
      "required": [
        "element"
      ]
    },
    "ConceptMap_Element": {
      "description": "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Identity (code or path) or the element/item being mapped.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "The display for the code. The display is only provided to help editors when editing the concept map.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        },
        "target": {
          "description": "A concept from the target value set that this concept maps to.",
          "items": {
            "$ref": "#/definitions/ConceptMap_Target"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ConceptMap_Target": {
      "description": "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Identity (code or path) or the element/item that the map refers to.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "The display for the code. The display is only provided to help editors when editing the concept map.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        },
        "equivalence": {
          "description": "The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is \u0027wider\u0027 than the source).",
          "enum": [
            "relatedto",
            "equivalent",
            "equal",
            "wider",
            "subsumes",
            "narrower",
            "specializes",
            "inexact",
            "unmatched",
            "disjoint"
          ]
        },
        "_equivalence": {
          "description": "Extensions for equivalence",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "A description of status/issues in mapping that conveys additional information not represented in  the structured data.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "dependsOn": {
          "description": "A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.",
          "items": {
            "$ref": "#/definitions/ConceptMap_DependsOn"
          },
          "type": "array"
        },
        "product": {
          "description": "A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on.",
          "items": {
            "$ref": "#/definitions/ConceptMap_DependsOn"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ConceptMap_DependsOn": {
      "description": "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "property": {
          "description": "A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property.",
          "$ref": "#/definitions/uri"
        },
        "_property": {
          "description": "Extensions for property",
          "$ref": "#/definitions/Element"
        },
        "system": {
          "description": "An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems).",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "Identity (code or path) or the element/item/ValueSet that the map depends on / refers to.",
          "$ref": "#/definitions/string"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "The display for the code. The display is only provided to help editors when editing the concept map.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ConceptMap_Unmapped": {
      "description": "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "mode": {
          "description": "Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL).",
          "enum": [
            "provided",
            "fixed",
            "other-map"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "The fixed code to use when the mode \u003d \u0027fixed\u0027  - all unmapped codes are mapped to a single fixed code.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "The display for the code. The display is only provided to help editors when editing the concept map.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        },
        "url": {
          "description": "The canonical URL of the map to use if this map contains no mapping.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Condition": {
      "description": "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.",
      "properties": {
        "resourceType": {
          "description": "This is a Condition resource",
          "const": "Condition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "clinicalStatus": {
          "description": "The clinical status of the condition.",
          "$ref": "#/definitions/code"
        },
        "_clinicalStatus": {
          "description": "Extensions for clinicalStatus",
          "$ref": "#/definitions/Element"
        },
        "verificationStatus": {
          "description": "The verification status to support the clinical status of the condition.",
          "enum": [
            "unconfirmed",
            "provisional",
            "differential",
            "confirmed",
            "refuted",
            "entered-in-error"
          ]
        },
        "_verificationStatus": {
          "description": "Extensions for verificationStatus",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "A category assigned to the condition.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "severity": {
          "description": "A subjective assessment of the severity of the condition as evaluated by the clinician.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "code": {
          "description": "Identification of the condition, problem or diagnosis.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "bodySite": {
          "description": "The anatomical location where this condition manifests itself.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "subject": {
          "description": "Indicates the patient or group who the condition record is associated with.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "Encounter during which the condition was first asserted.",
          "$ref": "#/definitions/Reference"
        },
        "onsetDateTime": {
          "description": "Estimated or actual date or date-time  the condition began, in the opinion of the clinician.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_onsetDateTime": {
          "description": "Extensions for onsetDateTime",
          "$ref": "#/definitions/Element"
        },
        "onsetAge": {
          "description": "Estimated or actual date or date-time  the condition began, in the opinion of the clinician.",
          "$ref": "#/definitions/Age"
        },
        "onsetPeriod": {
          "description": "Estimated or actual date or date-time  the condition began, in the opinion of the clinician.",
          "$ref": "#/definitions/Period"
        },
        "onsetRange": {
          "description": "Estimated or actual date or date-time  the condition began, in the opinion of the clinician.",
          "$ref": "#/definitions/Range"
        },
        "onsetString": {
          "description": "Estimated or actual date or date-time  the condition began, in the opinion of the clinician.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_onsetString": {
          "description": "Extensions for onsetString",
          "$ref": "#/definitions/Element"
        },
        "abatementDateTime": {
          "description": "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_abatementDateTime": {
          "description": "Extensions for abatementDateTime",
          "$ref": "#/definitions/Element"
        },
        "abatementAge": {
          "description": "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.",
          "$ref": "#/definitions/Age"
        },
        "abatementPeriod": {
          "description": "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.",
          "$ref": "#/definitions/Period"
        },
        "abatementRange": {
          "description": "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.",
          "$ref": "#/definitions/Range"
        },
        "abatementString": {
          "description": "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_abatementString": {
          "description": "Extensions for abatementString",
          "$ref": "#/definitions/Element"
        },
        "assertedDate": {
          "description": "The date on which the existance of the Condition was first asserted or acknowledged.",
          "$ref": "#/definitions/dateTime"
        },
        "_assertedDate": {
          "description": "Extensions for assertedDate",
          "$ref": "#/definitions/Element"
        },
        "recorder": {
          "description": "Individual who recorded the record and takes responsibility for its content.",
          "$ref": "#/definitions/Reference"
        },
        "asserter": {
          "description": "Individual who is making the condition statement.",
          "$ref": "#/definitions/Reference"
        },
        "stage": {
          "description": "Clinical stage or grade of a condition. May include formal severity assessments.",
          "items": {
            "$ref": "#/definitions/Condition_Stage"
          },
          "type": "array"
        },
        "evidence": {
          "description": "Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed.",
          "items": {
            "$ref": "#/definitions/Condition_Evidence"
          },
          "type": "array"
        },
        "note": {
          "description": "Additional information about the Condition. This is a general notes/comments entry  for description of the Condition, its diagnosis and prognosis.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "Condition_Stage": {
      "description": "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "summary": {
          "description": "A simple summary of the stage such as \"Stage 3\". The determination of the stage is disease-specific.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "assessment": {
          "description": "Reference to a formal record of the evidence on which the staging assessment is based.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "type": {
          "description": "The kind of staging, such as pathological or clinical staging.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "Condition_Evidence": {
      "description": "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A manifestation or symptom that led to the recording of this condition.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "detail": {
          "description": "Links to other relevant information, including pathology reports.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Consent": {
      "description": "A record of a healthcare consumer’s  choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.",
      "properties": {
        "resourceType": {
          "description": "This is a Consent resource",
          "const": "Consent"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique identifier for this copy of the Consent Statement.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "Indicates the current state of this consent.",
          "enum": [
            "draft",
            "proposed",
            "active",
            "rejected",
            "inactive",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "scope": {
          "description": "A selector of the type of consent being presented among the four possible: ADR, Privacy, Treatment, Research.",
          "$ref": "#/definitions/code"
        },
        "_scope": {
          "description": "Extensions for scope",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "patient": {
          "description": "The patient/healthcare consumer to whom this consent applies.",
          "$ref": "#/definitions/Reference"
        },
        "dateTime": {
          "description": "When this  Consent was issued / created / indexed.",
          "$ref": "#/definitions/dateTime"
        },
        "_dateTime": {
          "description": "Extensions for dateTime",
          "$ref": "#/definitions/Element"
        },
        "consentingParty": {
          "description": "Either the Grantor, which is the entity responsible for granting the rights listed in a Consent Directive or the Grantee, which is the entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "organization": {
          "description": "The organization that manages the consent, and the framework within which it is executed.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "sourceAttachment": {
          "description": "The source on which this consent statement is based. The source might be a scanned original paper form, or a reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document.",
          "$ref": "#/definitions/Attachment"
        },
        "sourceIdentifier": {
          "description": "The source on which this consent statement is based. The source might be a scanned original paper form, or a reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document.",
          "$ref": "#/definitions/Identifier"
        },
        "sourceReference": {
          "description": "The source on which this consent statement is based. The source might be a scanned original paper form, or a reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document.",
          "$ref": "#/definitions/Reference"
        },
        "policy": {
          "description": "The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law.",
          "items": {
            "$ref": "#/definitions/Consent_Policy"
          },
          "type": "array"
        },
        "policyRule": {
          "description": "A reference to the specific base computable policy.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "verification": {
          "description": "Whether a treatment instruction (e.g. artifical respiration yes or no) was verified with the patient, his/her family or another authorized person.",
          "items": {
            "$ref": "#/definitions/Consent_Verification"
          },
          "type": "array"
        },
        "provision": {
          "description": "An exception to the base policy of this consent. An exception can be an addition or removal of access permissions.",
          "$ref": "#/definitions/Consent_Provision"
        }
      },
      "additionalProperties": false,
      "required": [
        "patient",
        "provision",
        "category",
        "resourceType"
      ]
    },
    "Consent_Policy": {
      "description": "A record of a healthcare consumer’s  choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "authority": {
          "description": "Entity or Organization having regulatory jurisdiction or accountability for  enforcing policies pertaining to Consent Directives.",
          "$ref": "#/definitions/uri"
        },
        "_authority": {
          "description": "Extensions for authority",
          "$ref": "#/definitions/Element"
        },
        "uri": {
          "description": "The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law.",
          "$ref": "#/definitions/uri"
        },
        "_uri": {
          "description": "Extensions for uri",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Consent_Verification": {
      "description": "A record of a healthcare consumer’s  choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "verified": {
          "description": "Has the instruction been verified.",
          "$ref": "#/definitions/boolean"
        },
        "_verified": {
          "description": "Extensions for verified",
          "$ref": "#/definitions/Element"
        },
        "verifiedWith": {
          "description": "Who verified the instruction (Patient, Relative or other Authorized Person).",
          "$ref": "#/definitions/Reference"
        },
        "verificationDate": {
          "description": "Date verification was collected.",
          "$ref": "#/definitions/dateTime"
        },
        "_verificationDate": {
          "description": "Extensions for verificationDate",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Consent_Provision": {
      "description": "A record of a healthcare consumer’s  choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Action  to take - permit or deny - when the rule conditions are met.  Not permitted in root rule, required in all nested rules.",
          "enum": [
            "deny",
            "permit"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The timeframe in this rule is valid.",
          "$ref": "#/definitions/Period"
        },
        "actor": {
          "description": "Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. \u0027admitting officers\u0027).",
          "items": {
            "$ref": "#/definitions/Consent_Actor"
          },
          "type": "array"
        },
        "action": {
          "description": "Actions controlled by this Rule.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "securityLabel": {
          "description": "A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "purpose": {
          "description": "The context of the activities a user is taking - why the user is accessing the data - that are controlled by this rule.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "class": {
          "description": "The class of information covered by this rule. The type can be a FHIR resource type, a profile on a type, or a CDA document, or some other type that indicates what sort of information the consent relates to.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "code": {
          "description": "If this code is found in an instance, then the rule applies.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "dataPeriod": {
          "description": "Clinical or Operational Relevant period of time that bounds the data controlled by this rule.",
          "$ref": "#/definitions/Period"
        },
        "data": {
          "description": "The resources controlled by this rule if specific resources are referenced.",
          "items": {
            "$ref": "#/definitions/Consent_Data"
          },
          "type": "array"
        },
        "provision": {
          "description": "Rules which provide exceptions to the base rule or subrules.",
          "items": {
            "$ref": "#/definitions/Consent_Provision"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Consent_Actor": {
      "description": "A record of a healthcare consumer’s  choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "role": {
          "description": "How the individual is involved in the resources content that is described in the exception.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reference": {
          "description": "The resource that identifies the actor. To identify a actors by type, use group to identify a set of actors by some property they share (e.g. \u0027admitting officers\u0027).",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "reference",
        "role"
      ]
    },
    "Consent_Data": {
      "description": "A record of a healthcare consumer’s  choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "meaning": {
          "description": "How the resource reference is interpreted when testing consent restrictions.",
          "enum": [
            "instance",
            "related",
            "dependents",
            "authoredby"
          ]
        },
        "_meaning": {
          "description": "Extensions for meaning",
          "$ref": "#/definitions/Element"
        },
        "reference": {
          "description": "A reference to a specific resource that defines which resources are covered by this consent.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "reference"
      ]
    },
    "Contract": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "resourceType": {
          "description": "This is a Contract resource",
          "const": "Contract"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique identifier for this Contract or a derivative that references a Source Contract.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "contentDerivative": {
          "description": "The minimal content derived from the basal information source at a specific stage in its lifecycle.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "issued": {
          "description": "When this  Contract was issued.",
          "$ref": "#/definitions/dateTime"
        },
        "_issued": {
          "description": "Extensions for issued",
          "$ref": "#/definitions/Element"
        },
        "applies": {
          "description": "Relevant time or time-period when this Contract is applicable.",
          "$ref": "#/definitions/Period"
        },
        "subject": {
          "description": "The target entity impacted by or of interest to parties to the agreement.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "authority": {
          "description": "A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "domain": {
          "description": "Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "type": {
          "description": "Type of Contract such as an insurance policy, real estate contract, a will, power of attorny, Privacy or Security policy , trust framework agreement, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subType": {
          "description": "More specific type or specialization of an overarching or more general contract such as auto insurance, home owner  insurance, prenupial agreement, Advanced-Directive, or privacy consent.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "term": {
          "description": "One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups.",
          "items": {
            "$ref": "#/definitions/Contract_Term"
          },
          "type": "array"
        },
        "signer": {
          "description": "Parties with legal standing in the Contract, including the principal parties, the grantor(s) and grantee(s), which are any person or organization bound by the contract, and any ancillary parties, which facilitate the execution of the contract such as a notary or witness.",
          "items": {
            "$ref": "#/definitions/Contract_Signer"
          },
          "type": "array"
        },
        "friendly": {
          "description": "The \"patient friendly language\" versionof the Contract in whole or in parts. \"Patient friendly language\" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement.",
          "items": {
            "$ref": "#/definitions/Contract_Friendly"
          },
          "type": "array"
        },
        "legal": {
          "description": "List of Legal expressions or representations of this Contract.",
          "items": {
            "$ref": "#/definitions/Contract_Legal"
          },
          "type": "array"
        },
        "rule": {
          "description": "List of Computable Policy Rule Language Representations of this Contract.",
          "$ref": "#/definitions/Contract_Rule"
        },
        "legallyBindingAttachment": {
          "description": "Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the \"source of truth\" and which would be the basis for legal action related to enforcement of this Contract.",
          "$ref": "#/definitions/Attachment"
        },
        "legallyBindingReference": {
          "description": "Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the \"source of truth\" and which would be the basis for legal action related to enforcement of this Contract.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Contract_Term": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique identifier for this particular Contract Provision.",
          "$ref": "#/definitions/Identifier"
        },
        "issued": {
          "description": "When this Contract Provision was issued.",
          "$ref": "#/definitions/dateTime"
        },
        "_issued": {
          "description": "Extensions for issued",
          "$ref": "#/definitions/Element"
        },
        "applies": {
          "description": "Relevant time or time-period when this Contract Provision is applicable.",
          "$ref": "#/definitions/Period"
        },
        "type": {
          "description": "Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subType": {
          "description": "Subtype of this Contract Provision, e.g. life time maximum payment for a contract term for specific valued item, e.g. disability payment.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "offer": {
          "description": "The matter of concern in the context of this provision of the agrement.",
          "$ref": "#/definitions/Contract_Offer"
        },
        "asset": {
          "description": "Contract Term Asset List.",
          "items": {
            "$ref": "#/definitions/Contract_Asset"
          },
          "type": "array"
        },
        "agent": {
          "description": "An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.",
          "items": {
            "$ref": "#/definitions/Contract_Agent"
          },
          "type": "array"
        },
        "action": {
          "description": "Action stipulated by this Contract Provision.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "actionReason": {
          "description": "Reason or purpose for the action stipulated by this Contract Provision.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "group": {
          "description": "Nested group of Contract Provisions.",
          "items": {
            "$ref": "#/definitions/Contract_Term"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "offer"
      ]
    },
    "Contract_Offer": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "topic": {
          "description": "The owner of an asset has the residual control rights over the asset: the right to decide all usages of the asset in any way not inconsistent with a prior contract, custom, or law (Hart, 1995, p. 30).",
          "$ref": "#/definitions/Reference"
        },
        "type": {
          "description": "Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "decision": {
          "description": "The type of decision made by a grantor with respect to an offer made by a grantee.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "text": {
          "description": "Human readable form of this Contract Offer.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        },
        "linkId": {
          "description": "The id of the clause or question text of the offer in the referenced questionnaire/response.",
          "$ref": "#/definitions/string"
        },
        "_linkId": {
          "description": "Extensions for linkId",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Contract_Asset": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "class": {
          "description": "Resource Type, Profile, or CDA etc.",
          "$ref": "#/definitions/Coding"
        },
        "code": {
          "description": "Code in the content.",
          "$ref": "#/definitions/Coding"
        },
        "period": {
          "description": "Time period of the asset.",
          "$ref": "#/definitions/Period"
        },
        "dataPeriod": {
          "description": "Time period of the data for the asset.",
          "$ref": "#/definitions/Period"
        },
        "data": {
          "description": "Data defined by this Asset.",
          "items": {
            "$ref": "#/definitions/Contract_Data"
          },
          "type": "array"
        },
        "valuedItem": {
          "description": "Contract Valued Item List.",
          "items": {
            "$ref": "#/definitions/Contract_ValuedItem"
          },
          "type": "array"
        },
        "securityLabel": {
          "description": "A set of security labels that define which terms are controlled by this condition.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Contract_Data": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "meaning": {
          "description": "instance | related | dependents | authoredby.",
          "enum": [
            "instance",
            "related",
            "dependents",
            "authoredby"
          ]
        },
        "_meaning": {
          "description": "Extensions for meaning",
          "$ref": "#/definitions/Element"
        },
        "reference": {
          "description": "The actual data reference.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Contract_ValuedItem": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "entityCodeableConcept": {
          "description": "Specific type of Contract Valued Item that may be priced.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "entityReference": {
          "description": "Specific type of Contract Valued Item that may be priced.",
          "$ref": "#/definitions/Reference"
        },
        "identifier": {
          "description": "Identifies a Contract Valued Item instance.",
          "$ref": "#/definitions/Identifier"
        },
        "effectiveTime": {
          "description": "Indicates the time during which this Contract ValuedItem information is effective.",
          "$ref": "#/definitions/dateTime"
        },
        "_effectiveTime": {
          "description": "Extensions for effectiveTime",
          "$ref": "#/definitions/Element"
        },
        "quantity": {
          "description": "Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances.",
          "$ref": "#/definitions/Quantity"
        },
        "unitPrice": {
          "description": "A Contract Valued Item unit valuation measure.",
          "$ref": "#/definitions/Money"
        },
        "factor": {
          "description": "A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
          "$ref": "#/definitions/decimal"
        },
        "_factor": {
          "description": "Extensions for factor",
          "$ref": "#/definitions/Element"
        },
        "points": {
          "description": "An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point.",
          "$ref": "#/definitions/decimal"
        },
        "_points": {
          "description": "Extensions for points",
          "$ref": "#/definitions/Element"
        },
        "net": {
          "description": "Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points \u003d net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
          "$ref": "#/definitions/Money"
        }
      },
      "additionalProperties": false
    },
    "Contract_Agent": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "actor": {
          "description": "Who or what parties are assigned roles in this Contract.",
          "$ref": "#/definitions/Reference"
        },
        "role": {
          "description": "Role type of agent assigned roles in this Contract.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "actor"
      ]
    },
    "Contract_Signer": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Role of this Contract signer, e.g. notary, grantee.",
          "$ref": "#/definitions/Coding"
        },
        "party": {
          "description": "Party which is a signator to this Contract.",
          "$ref": "#/definitions/Reference"
        },
        "signature": {
          "description": "Legally binding Contract DSIG signature contents in Base64.",
          "items": {
            "$ref": "#/definitions/Signature"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "signature",
        "type",
        "party"
      ]
    },
    "Contract_Friendly": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "contentAttachment": {
          "description": "Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.",
          "$ref": "#/definitions/Attachment"
        },
        "contentReference": {
          "description": "Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Contract_Legal": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "contentAttachment": {
          "description": "Contract legal text in human renderable form.",
          "$ref": "#/definitions/Attachment"
        },
        "contentReference": {
          "description": "Contract legal text in human renderable form.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Contract_Rule": {
      "description": "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "contentAttachment": {
          "description": "Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).",
          "$ref": "#/definitions/Attachment"
        },
        "contentReference": {
          "description": "Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Coverage": {
      "description": "Financial instrument which may be used to reimburse or pay for health care products and services.",
      "properties": {
        "resourceType": {
          "description": "This is a Coverage resource",
          "const": "Coverage"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Certificate number, Personal Health Number or Case ID. May be constructed as the concatination of the Coverage.SubscriberID and the Coverage.dependant.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "policyHolder": {
          "description": "The party who \u0027owns\u0027 the insurance policy,  may be an individual, corporation or the subscriber\u0027s employer.",
          "$ref": "#/definitions/Reference"
        },
        "subscriber": {
          "description": "The party who has signed-up for or \u0027owns\u0027 the contractual relationship to the policy or to whom the benefit of the policy for services rendered to them or their family is due.",
          "$ref": "#/definitions/Reference"
        },
        "subscriberId": {
          "description": "The insurer assigned ID for the Subscriber.",
          "$ref": "#/definitions/string"
        },
        "_subscriberId": {
          "description": "Extensions for subscriberId",
          "$ref": "#/definitions/Element"
        },
        "beneficiary": {
          "description": "The party who benefits from the insurance coverage., the patient when services are provided.",
          "$ref": "#/definitions/Reference"
        },
        "dependent": {
          "description": "A unique identifier for a dependent under the coverage.",
          "$ref": "#/definitions/string"
        },
        "_dependent": {
          "description": "Extensions for dependent",
          "$ref": "#/definitions/Element"
        },
        "relationship": {
          "description": "The relationship of beneficiary (patient) to the subscriber.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "period": {
          "description": "Time period during which the coverage is in force. A missing start date indicates the start date isn\u0027t known, a missing end date means the coverage is continuing to be in force.",
          "$ref": "#/definitions/Period"
        },
        "payor": {
          "description": "The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements. May provide multiple identifiers such as insurance company identifier or business identifier (BIN number).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "class": {
          "description": "A suite of underwrite specific classifiers, for example may be used to identify a class of coverage or employer group, Policy, Plan.",
          "items": {
            "$ref": "#/definitions/Coverage_Class"
          },
          "type": "array"
        },
        "grouping": {
          "description": "A suite of underwrite specific classifiers, for example may be used to identify a class of coverage or employer group, Policy, Plan.",
          "$ref": "#/definitions/Coverage_Grouping"
        },
        "sequence": {
          "description": "An optional counter for a particular instance of the identified coverage which increments upon each renewal.",
          "$ref": "#/definitions/string"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "order": {
          "description": "The order of applicability of this coverage relative to other coverages which are currently inforce. Note, there may be gaps in the numbering and this does not imply primary, secondard etc. as the specific positioning of coverages depends upon the episode of care.",
          "$ref": "#/definitions/positiveInt"
        },
        "_order": {
          "description": "Extensions for order",
          "$ref": "#/definitions/Element"
        },
        "network": {
          "description": "The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the \u0027in-network\u0027 rate, otherwise \u0027out of network\u0027 terms and conditions apply.",
          "$ref": "#/definitions/string"
        },
        "_network": {
          "description": "Extensions for network",
          "$ref": "#/definitions/Element"
        },
        "copay": {
          "description": "A suite of underwrite specific classifiers, for example may be used to identify a class of coverage or employer group, Policy, Plan.",
          "items": {
            "$ref": "#/definitions/Coverage_Copay"
          },
          "type": "array"
        },
        "contract": {
          "description": "The policy(s) which constitute this insurance coverage.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Coverage_Class": {
      "description": "Financial instrument which may be used to reimburse or pay for health care products and services.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of classification for which an insurer-specific class tag or number and optional name is provided, for example may be used to identify a class of coverage or employer group, Policy, Plan.",
          "$ref": "#/definitions/Coding"
        },
        "value": {
          "description": "For example the Group or Plan number.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A short description for the class.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "Coverage_Grouping": {
      "description": "Financial instrument which may be used to reimburse or pay for health care products and services.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "group": {
          "description": "Identifies a style or collective of coverage issued by the underwriter, for example may be used to identify an employer group. May also be referred to as a Policy or Group ID.",
          "$ref": "#/definitions/string"
        },
        "_group": {
          "description": "Extensions for group",
          "$ref": "#/definitions/Element"
        },
        "groupDisplay": {
          "description": "A short description for the group.",
          "$ref": "#/definitions/string"
        },
        "_groupDisplay": {
          "description": "Extensions for groupDisplay",
          "$ref": "#/definitions/Element"
        },
        "subGroup": {
          "description": "Identifies a style or collective of coverage issued by the underwriter, for example may be used to identify a subset of an employer group.",
          "$ref": "#/definitions/string"
        },
        "_subGroup": {
          "description": "Extensions for subGroup",
          "$ref": "#/definitions/Element"
        },
        "subGroupDisplay": {
          "description": "A short description for the subgroup.",
          "$ref": "#/definitions/string"
        },
        "_subGroupDisplay": {
          "description": "Extensions for subGroupDisplay",
          "$ref": "#/definitions/Element"
        },
        "plan": {
          "description": "Identifies a style or collective of coverage issued by the underwriter, for example may be used to identify a collection of benefits provided to employees. May be referred to as a Section or Division ID.",
          "$ref": "#/definitions/string"
        },
        "_plan": {
          "description": "Extensions for plan",
          "$ref": "#/definitions/Element"
        },
        "planDisplay": {
          "description": "A short description for the plan.",
          "$ref": "#/definitions/string"
        },
        "_planDisplay": {
          "description": "Extensions for planDisplay",
          "$ref": "#/definitions/Element"
        },
        "subPlan": {
          "description": "Identifies a sub-style or sub-collective of coverage issued by the underwriter, for example may be used to identify a subset of a collection of benefits provided to employees.",
          "$ref": "#/definitions/string"
        },
        "_subPlan": {
          "description": "Extensions for subPlan",
          "$ref": "#/definitions/Element"
        },
        "subPlanDisplay": {
          "description": "A short description for the subplan.",
          "$ref": "#/definitions/string"
        },
        "_subPlanDisplay": {
          "description": "Extensions for subPlanDisplay",
          "$ref": "#/definitions/Element"
        },
        "class": {
          "description": "Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage such as a level of deductables or co-payment.",
          "$ref": "#/definitions/string"
        },
        "_class": {
          "description": "Extensions for class",
          "$ref": "#/definitions/Element"
        },
        "classDisplay": {
          "description": "A short description for the class.",
          "$ref": "#/definitions/string"
        },
        "_classDisplay": {
          "description": "Extensions for classDisplay",
          "$ref": "#/definitions/Element"
        },
        "subClass": {
          "description": "Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a subclass of coverage such as a sub-level of deductables or co-payment.",
          "$ref": "#/definitions/string"
        },
        "_subClass": {
          "description": "Extensions for subClass",
          "$ref": "#/definitions/Element"
        },
        "subClassDisplay": {
          "description": "A short description for the subclass.",
          "$ref": "#/definitions/string"
        },
        "_subClassDisplay": {
          "description": "Extensions for subClassDisplay",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Coverage_Copay": {
      "description": "Financial instrument which may be used to reimburse or pay for health care products and services.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Types of products or services such as visit, specialist vists, emergency, inpatient care, etc.",
          "$ref": "#/definitions/Coding"
        },
        "value": {
          "description": "The amount of patient payments for various types of services/products, expressed as a percentage of the service/product cost or a fixed amount of currency,.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false,
      "required": [
        "value"
      ]
    },
    "DetectedIssue": {
      "description": "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.",
      "properties": {
        "resourceType": {
          "description": "This is a DetectedIssue resource",
          "const": "DetectedIssue"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Business identifier associated with the detected issue record.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "Indicates the status of the detected issue.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Identifies the general type of issue identified.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "severity": {
          "description": "Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.",
          "enum": [
            "high",
            "moderate",
            "low"
          ]
        },
        "_severity": {
          "description": "Extensions for severity",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "Indicates the patient whose record the detected issue is associated with.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The date or date-time when the detected issue was initially identified.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "author": {
          "description": "Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review.",
          "$ref": "#/definitions/Reference"
        },
        "implicated": {
          "description": "Indicates the resource representing the current activity or proposed activity that is potentially problematic.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "detail": {
          "description": "A textual explanation of the detected issue.",
          "$ref": "#/definitions/string"
        },
        "_detail": {
          "description": "Extensions for detail",
          "$ref": "#/definitions/Element"
        },
        "reference": {
          "description": "The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified.",
          "$ref": "#/definitions/uri"
        },
        "_reference": {
          "description": "Extensions for reference",
          "$ref": "#/definitions/Element"
        },
        "mitigation": {
          "description": "Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.",
          "items": {
            "$ref": "#/definitions/DetectedIssue_Mitigation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "DetectedIssue_Mitigation": {
      "description": "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "action": {
          "description": "Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "date": {
          "description": "Indicates when the mitigating action was documented.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "author": {
          "description": "Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "action"
      ]
    },
    "Device": {
      "description": "This resource identifies an instance or a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.  Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.  Non-medical devices may include items such as a machine, cellphone, computer, application, etc.",
      "properties": {
        "resourceType": {
          "description": "This is a Device resource",
          "const": "Device"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique instance identifiers assigned to a device by manufacturers other organizations or owners.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "udi": {
          "description": "[Unique device identifier (UDI)](device.html#5.11.3.2.2) assigned to device label or package.",
          "$ref": "#/definitions/Device_Udi"
        },
        "status": {
          "description": "Status of the Device availability.",
          "enum": [
            "active",
            "inactive",
            "entered-in-error",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Code or identifier to identify a kind of device.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "lotNumber": {
          "description": "Lot number assigned by the manufacturer.",
          "$ref": "#/definitions/string"
        },
        "_lotNumber": {
          "description": "Extensions for lotNumber",
          "$ref": "#/definitions/Element"
        },
        "manufacturer": {
          "description": "A name of the manufacturer.",
          "$ref": "#/definitions/string"
        },
        "_manufacturer": {
          "description": "Extensions for manufacturer",
          "$ref": "#/definitions/Element"
        },
        "manufactureDate": {
          "description": "The date and time when the device was manufactured.",
          "$ref": "#/definitions/dateTime"
        },
        "_manufactureDate": {
          "description": "Extensions for manufactureDate",
          "$ref": "#/definitions/Element"
        },
        "expirationDate": {
          "description": "The date and time beyond which this device is no longer valid or should not be used (if applicable).",
          "$ref": "#/definitions/dateTime"
        },
        "_expirationDate": {
          "description": "Extensions for expirationDate",
          "$ref": "#/definitions/Element"
        },
        "model": {
          "description": "The \"model\" is an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type.",
          "$ref": "#/definitions/string"
        },
        "_model": {
          "description": "Extensions for model",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "Patient information, If the device is affixed to a person.",
          "$ref": "#/definitions/Reference"
        },
        "owner": {
          "description": "An organization that is responsible for the provision and ongoing maintenance of the device.",
          "$ref": "#/definitions/Reference"
        },
        "contact": {
          "description": "Contact details for an organization or a particular human that is responsible for the device.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "location": {
          "description": "The place where the device can be found.",
          "$ref": "#/definitions/Reference"
        },
        "url": {
          "description": "A network address on which the device may be contacted directly.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "note": {
          "description": "Descriptive information, usage information or implantation information that is not captured in an existing element.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "safety": {
          "description": "Provides additional safety characteristics about a medical device.  For example devices containing latex.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Device_Udi": {
      "description": "This resource identifies an instance or a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.  Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.  Non-medical devices may include items such as a machine, cellphone, computer, application, etc.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "deviceIdentifier": {
          "description": "The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device.",
          "$ref": "#/definitions/string"
        },
        "_deviceIdentifier": {
          "description": "Extensions for deviceIdentifier",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "Name of device as used in labeling or catalog.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "jurisdiction": {
          "description": "The identity of the authoritative source for UDI generation within a  jurisdiction.  All UDIs are globally unique within a single namespace. with the appropriate repository uri as the system.  For example,  UDIs of devices managed in the U.S. by the FDA, the value is  http://hl7.org/fhir/NamingSystem/fda-udi.",
          "$ref": "#/definitions/uri"
        },
        "_jurisdiction": {
          "description": "Extensions for jurisdiction",
          "$ref": "#/definitions/Element"
        },
        "carrierHRF": {
          "description": "The full UDI carrier as the human readable form (HRF) representation of the barcode string as printed on the packaging of the device.",
          "$ref": "#/definitions/string"
        },
        "_carrierHRF": {
          "description": "Extensions for carrierHRF",
          "$ref": "#/definitions/Element"
        },
        "carrierAIDC": {
          "description": "The full UDI carrier of the Automatic Identification and Data Capture (AIDC) technology representation of the barcode string as printed on the packaging of the device - E.g a barcode or RFID.   Because of limitations on character sets in XML and the need to round-trip JSON data through XML, AIDC Formats *SHALL* be base64 encoded.",
          "$ref": "#/definitions/base64Binary"
        },
        "_carrierAIDC": {
          "description": "Extensions for carrierAIDC",
          "$ref": "#/definitions/Element"
        },
        "issuer": {
          "description": "Organization that is charged with issuing UDIs for devices.  For example, the US FDA issuers include :\n1) GS1: \nhttp://hl7.org/fhir/NamingSystem/gs1-di, \n2) HIBCC:\nhttp://hl7.org/fhir/NamingSystem/hibcc-dI, \n3) ICCBBA for blood containers:\nhttp://hl7.org/fhir/NamingSystem/iccbba-blood-di, \n4) ICCBA for other devices:\nhttp://hl7.org/fhir/NamingSystem/iccbba-other-di.",
          "$ref": "#/definitions/uri"
        },
        "_issuer": {
          "description": "Extensions for issuer",
          "$ref": "#/definitions/Element"
        },
        "entryType": {
          "description": "A coded entry to indicate how the data was entered.",
          "enum": [
            "barcode",
            "rfid",
            "manual",
            "card",
            "self-reported",
            "unknown"
          ]
        },
        "_entryType": {
          "description": "Extensions for entryType",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "DeviceComponent": {
      "description": "The characteristics, operational status and capabilities of a medical-related component of a medical device.",
      "properties": {
        "resourceType": {
          "description": "This is a DeviceComponent resource",
          "const": "DeviceComponent"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "type": {
          "description": "The component type as defined in the object-oriented or metric nomenclature partition.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "lastSystemChange": {
          "description": "The timestamp for the most recent system change which includes device configuration or setting change.",
          "$ref": "#/definitions/instant"
        },
        "_lastSystemChange": {
          "description": "Extensions for lastSystemChange",
          "$ref": "#/definitions/Element"
        },
        "source": {
          "description": "The link to the source Device that contains administrative device information such as manufacture, serial number, etc.",
          "$ref": "#/definitions/Reference"
        },
        "parent": {
          "description": "The link to the parent resource. For example: Channel is linked to its VMD parent.",
          "$ref": "#/definitions/Reference"
        },
        "operationalStatus": {
          "description": "The current operational status of the device. For example: On, Off, Standby, etc.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "parameterGroup": {
          "description": "The parameter group supported by the current device component that is based on some nomenclature, e.g. cardiovascular.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "measurementPrinciple": {
          "description": "The physical principle of the measurement. For example: thermal, chemical, acoustical, etc.",
          "enum": [
            "other",
            "chemical",
            "electrical",
            "impedance",
            "nuclear",
            "optical",
            "thermal",
            "biological",
            "mechanical",
            "acoustical",
            "manual"
          ]
        },
        "_measurementPrinciple": {
          "description": "Extensions for measurementPrinciple",
          "$ref": "#/definitions/Element"
        },
        "productionSpecification": {
          "description": "The production specification such as component revision, serial number, etc.",
          "items": {
            "$ref": "#/definitions/DeviceComponent_ProductionSpecification"
          },
          "type": "array"
        },
        "languageCode": {
          "description": "The language code for the human-readable text string produced by the device. This language code will follow the IETF language tag. Example: en-US.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "property": {
          "description": "Other device properties expressed as a `type` which identifies the property and a value(s) either as a quantity or a code.",
          "items": {
            "$ref": "#/definitions/DeviceComponent_Property"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "type",
        "resourceType"
      ]
    },
    "DeviceComponent_ProductionSpecification": {
      "description": "The characteristics, operational status and capabilities of a medical-related component of a medical device.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "specType": {
          "description": "The specification type, such as, serial number, part number, hardware revision, software revision, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "componentId": {
          "description": "The internal component unique identification. This is a provision for manufacture specific standard components using a private OID. 11073-10101 has a partition for private OID semantic that the manufacturer can make use of.",
          "$ref": "#/definitions/Identifier"
        },
        "productionSpec": {
          "description": "The printable string defining the component.",
          "$ref": "#/definitions/string"
        },
        "_productionSpec": {
          "description": "Extensions for productionSpec",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "DeviceComponent_Property": {
      "description": "The characteristics, operational status and capabilities of a medical-related component of a medical device.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The code for the device property identifying the property being reported such as \u0027time capability\u0027.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueQuantity": {
          "description": "The property value when the property being reported is a quantity such as the resolution of a real time clock.",
          "items": {
            "$ref": "#/definitions/Quantity"
          },
          "type": "array"
        },
        "valueCode": {
          "description": "The property value when the property being reported is a code, such as the code indicating that the device supports a real time clock using absolute time.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "DeviceMetric": {
      "description": "Describes a measurement, calculation or setting capability of a medical device.",
      "properties": {
        "resourceType": {
          "description": "This is a DeviceMetric resource",
          "const": "DeviceMetric"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique instance identifiers assigned to a device by the device or gateway software, manufacturers, other organizations or owners. For example: handle ID.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "type": {
          "description": "Describes the type of the metric. For example: Heart Rate, PEEP Setting, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "unit": {
          "description": "Describes the unit that an observed value determined for this metric will have. For example: Percent, Seconds, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "source": {
          "description": "Describes the link to the  Device that this DeviceMetric belongs to and that contains administrative device information such as manufacturer, serial number, etc.",
          "$ref": "#/definitions/Reference"
        },
        "parent": {
          "description": "Describes the link to the  DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location.",
          "$ref": "#/definitions/Reference"
        },
        "operationalStatus": {
          "description": "Indicates current operational state of the device. For example: On, Off, Standby, etc.",
          "enum": [
            "on",
            "off",
            "standby",
            "entered-in-error"
          ]
        },
        "_operationalStatus": {
          "description": "Extensions for operationalStatus",
          "$ref": "#/definitions/Element"
        },
        "color": {
          "description": "Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta.",
          "enum": [
            "black",
            "red",
            "green",
            "yellow",
            "blue",
            "magenta",
            "cyan",
            "white"
          ]
        },
        "_color": {
          "description": "Extensions for color",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation.",
          "enum": [
            "measurement",
            "setting",
            "calculation",
            "unspecified"
          ]
        },
        "_category": {
          "description": "Extensions for category",
          "$ref": "#/definitions/Element"
        },
        "measurementPeriod": {
          "description": "Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured.",
          "$ref": "#/definitions/Timing"
        },
        "calibration": {
          "description": "Describes the calibrations that have been performed or that are required to be performed.",
          "items": {
            "$ref": "#/definitions/DeviceMetric_Calibration"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "type",
        "resourceType"
      ]
    },
    "DeviceMetric_Calibration": {
      "description": "Describes a measurement, calculation or setting capability of a medical device.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Describes the type of the calibration method.",
          "enum": [
            "unspecified",
            "offset",
            "gain",
            "two-point"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "state": {
          "description": "Describes the state of the calibration.",
          "enum": [
            "not-calibrated",
            "calibration-required",
            "calibrated",
            "unspecified"
          ]
        },
        "_state": {
          "description": "Extensions for state",
          "$ref": "#/definitions/Element"
        },
        "time": {
          "description": "Describes the time last calibration has been performed.",
          "$ref": "#/definitions/instant"
        },
        "_time": {
          "description": "Extensions for time",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "DeviceRequest": {
      "description": "Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker.",
      "properties": {
        "resourceType": {
          "description": "This is a DeviceRequest resource",
          "const": "DeviceRequest"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifiers assigned to this order by the orderer or by the receiver.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "instantiates": {
          "description": "Protocol or definition followed by this request. For example: The proposed act must be performed if the indicated conditions occur, e.g.., shortness of breath, SpO2 less than x%.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "Plan/proposal/order fulfilled by this request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "priorRequest": {
          "description": "The request takes the place of the referenced completed or terminated request(s).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "groupIdentifier": {
          "description": "Composite request this is part of.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "The status of the request.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "intent": {
          "description": "Whether the request is a proposal, plan, an original order or a reflex order.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "priority": {
          "description": "Indicates how quickly the {{title}} should be addressed with respect to other requests.",
          "$ref": "#/definitions/code"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        },
        "codeReference": {
          "description": "The details of the device to be used.",
          "$ref": "#/definitions/Reference"
        },
        "codeCodeableConcept": {
          "description": "The details of the device to be used.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "parameter": {
          "description": "Specific parameters for the ordered item.  For example, the prism value for lenses.",
          "items": {
            "$ref": "#/definitions/DeviceRequest_Parameter"
          },
          "type": "array"
        },
        "subject": {
          "description": "The patient who will use the device.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "An encounter that provides additional context in which this request is made.",
          "$ref": "#/definitions/Reference"
        },
        "occurrenceDateTime": {
          "description": "The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_occurrenceDateTime": {
          "description": "Extensions for occurrenceDateTime",
          "$ref": "#/definitions/Element"
        },
        "occurrencePeriod": {
          "description": "The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".",
          "$ref": "#/definitions/Period"
        },
        "occurrenceTiming": {
          "description": "The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".",
          "$ref": "#/definitions/Timing"
        },
        "authoredOn": {
          "description": "When the request transitioned to being actionable.",
          "$ref": "#/definitions/dateTime"
        },
        "_authoredOn": {
          "description": "Extensions for authoredOn",
          "$ref": "#/definitions/Element"
        },
        "requester": {
          "description": "The individual who initiated the request and has responsibility for its activation.",
          "$ref": "#/definitions/Reference"
        },
        "performerType": {
          "description": "Desired type of performer for doing the diagnostic testing.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "performer": {
          "description": "The desired perfomer for doing the diagnostic testing.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "Reason or justification for the use of this device.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Reason or justification for the use of this device.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "insurance": {
          "description": "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "supportingInfo": {
          "description": "Additional clinical information about the patient that may influence the request fulfilment.  For example, this may includes body where on the subject\u0027s the device will be used ( i.e. the target site).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "relevantHistory": {
          "description": "Key events in the history of the request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "intent",
        "resourceType"
      ]
    },
    "DeviceRequest_Parameter": {
      "description": "Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code or string that identifies the device detail being asserted.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueCodeableConcept": {
          "description": "The value of the device detail.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueQuantity": {
          "description": "The value of the device detail.",
          "$ref": "#/definitions/Quantity"
        },
        "valueRange": {
          "description": "The value of the device detail.",
          "$ref": "#/definitions/Range"
        },
        "valueBoolean": {
          "description": "The value of the device detail.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "DeviceUseStatement": {
      "description": "A record of a device being used by a patient where the record is the result of a report from the patient or another clinician.",
      "properties": {
        "resourceType": {
          "description": "This is a DeviceUseStatement resource",
          "const": "DeviceUseStatement"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "An external identifier for this statement such as an IRI.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "A plan, proposal or order that is fulfilled in whole or in part by this DeviceUseStatement.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "A code representing the patient or other source\u0027s judgment about the state of the device used that this statement is about.  Generally this will be active or completed.",
          "enum": [
            "active",
            "completed",
            "entered-in-error",
            "intended",
            "stopped",
            "on-hold"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "subject": {
          "description": "The patient who used the device.",
          "$ref": "#/definitions/Reference"
        },
        "derivedFrom": {
          "description": "Allows linking the DeviceUseStatement to the underlying Request, or to other information that supports or is used to derive the DeviceUseStatement.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "timingTiming": {
          "description": "How often the device was used.",
          "$ref": "#/definitions/Timing"
        },
        "timingPeriod": {
          "description": "How often the device was used.",
          "$ref": "#/definitions/Period"
        },
        "timingDateTime": {
          "description": "How often the device was used.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_timingDateTime": {
          "description": "Extensions for timingDateTime",
          "$ref": "#/definitions/Element"
        },
        "recordedOn": {
          "description": "The time at which the statement was made/recorded.",
          "$ref": "#/definitions/dateTime"
        },
        "_recordedOn": {
          "description": "Extensions for recordedOn",
          "$ref": "#/definitions/Element"
        },
        "source": {
          "description": "Who reported the device was being used by the patient.",
          "$ref": "#/definitions/Reference"
        },
        "device": {
          "description": "The details of the device used.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "Reason or justification for the use of the device.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Indicates another resource whose existence justifies this DeviceUseStatement.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "bodySite": {
          "description": "Indicates the anotomic location on the subject\u0027s body where the device was used ( i.e. the target).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "note": {
          "description": "Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "device",
        "resourceType"
      ]
    },
    "DiagnosticReport": {
      "description": "The findings and interpretation of diagnostic  tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.",
      "properties": {
        "resourceType": {
          "description": "This is a DiagnosticReport resource",
          "const": "DiagnosticReport"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifiers assigned to this report by the performer or other systems.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "Details concerning a service requested.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the diagnostic report as a whole.",
          "enum": [
            "registered",
            "partial",
            "preliminary",
            "final",
            "amended",
            "corrected",
            "appended",
            "cancelled",
            "entered-in-error",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "code": {
          "description": "A code or name that describes this diagnostic report.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The subject of the report. Usually, but not always, this is a patient. However diagnostic services also perform analyses on specimens collected from a variety of other sources.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The healthcare event  (e.g. a patient and healthcare provider interaction) which this DiagnosticReport per is about.",
          "$ref": "#/definitions/Reference"
        },
        "effectiveDateTime": {
          "description": "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_effectiveDateTime": {
          "description": "Extensions for effectiveDateTime",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.",
          "$ref": "#/definitions/Period"
        },
        "issued": {
          "description": "The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified.",
          "$ref": "#/definitions/instant"
        },
        "_issued": {
          "description": "Extensions for issued",
          "$ref": "#/definitions/Element"
        },
        "performer": {
          "description": "The diagnostic service that is responsible for issuing the report.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "resultsInterpreter": {
          "description": "The practitioner or organization that is responsible for the report\u0027s conclusions and interpretations.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "specimen": {
          "description": "Details about the specimens on which this diagnostic report is based.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "result": {
          "description": "Observations that are part of this diagnostic report. Observations can be simple name/value pairs (e.g. \"atomic\" results), or they can be grouping observations that include references to other members of the group (e.g. \"panels\").",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "imagingStudy": {
          "description": "One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "media": {
          "description": "A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).",
          "items": {
            "$ref": "#/definitions/DiagnosticReport_Media"
          },
          "type": "array"
        },
        "conclusion": {
          "description": "Concise and clinically contextualized impression / summary of the diagnostic report.",
          "$ref": "#/definitions/string"
        },
        "_conclusion": {
          "description": "Extensions for conclusion",
          "$ref": "#/definitions/Element"
        },
        "codedDiagnosis": {
          "description": "Codes for the conclusion.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "presentedForm": {
          "description": "Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent.",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "code",
        "resourceType"
      ]
    },
    "DiagnosticReport_Media": {
      "description": "The findings and interpretation of diagnostic  tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "comment": {
          "description": "A comment about the image. Typically, this is used to provide an explanation for why the image is included, or to draw the viewer\u0027s attention to important features.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "link": {
          "description": "Reference to the image source.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "link"
      ]
    },
    "DocumentManifest": {
      "description": "A collection of documents compiled for a purpose together with metadata that applies to the collection.",
      "properties": {
        "resourceType": {
          "description": "This is a DocumentManifest resource",
          "const": "DocumentManifest"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "masterIdentifier": {
          "description": "A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts.",
          "$ref": "#/definitions/Identifier"
        },
        "identifier": {
          "description": "Other identifiers associated with the document manifest, including version independent  identifiers.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of this document manifest.",
          "enum": [
            "current",
            "superseded",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).",
          "$ref": "#/definitions/Reference"
        },
        "created": {
          "description": "When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.).",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "agent": {
          "description": "An actor taking an active role in the manifest.",
          "items": {
            "$ref": "#/definitions/DocumentManifest_Agent"
          },
          "type": "array"
        },
        "recipient": {
          "description": "A patient, practitioner, or organization for which this set of documents is intended.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "source": {
          "description": "Identifies the source system, application, or software that produced the document manifest.",
          "$ref": "#/definitions/uri"
        },
        "_source": {
          "description": "Extensions for source",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Human-readable description of the source document. This is sometimes known as the \"title\".",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "content": {
          "description": "The list of Resources that consist of the parts of this manifest.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "related": {
          "description": "Related identifiers or resources associated with the DocumentManifest.",
          "items": {
            "$ref": "#/definitions/DocumentManifest_Related"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "content",
        "resourceType"
      ]
    },
    "DocumentManifest_Agent": {
      "description": "A collection of documents compiled for a purpose together with metadata that applies to the collection.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Specification of the participation type the agent played.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "who": {
          "description": "Identifies who is the agent. Such as the author of the manifest, and adding  documents to it.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "who"
      ]
    },
    "DocumentManifest_Related": {
      "description": "A collection of documents compiled for a purpose together with metadata that applies to the collection.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Related identifier to this DocumentManifest.  For example, Order numbers, accession numbers, XDW workflow numbers.",
          "$ref": "#/definitions/Identifier"
        },
        "ref": {
          "description": "Related Resource to this DocumentManifest. For example, Order, ServiceRequest,  Procedure, EligibilityRequest, etc.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "DocumentReference": {
      "description": "A reference to a document.",
      "properties": {
        "resourceType": {
          "description": "This is a DocumentReference resource",
          "const": "DocumentReference"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "masterIdentifier": {
          "description": "Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document.",
          "$ref": "#/definitions/Identifier"
        },
        "identifier": {
          "description": "Other identifiers associated with the document, including version independent identifiers.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of this document reference.",
          "enum": [
            "current",
            "superseded",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "docStatus": {
          "description": "The status of the underlying document.",
          "$ref": "#/definitions/code"
        },
        "_docStatus": {
          "description": "Extensions for docStatus",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Specifies the particular kind of document referenced  (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "class": {
          "description": "A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).",
          "$ref": "#/definitions/Reference"
        },
        "created": {
          "description": "When the document was created.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "When the document reference was created.",
          "$ref": "#/definitions/instant"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "agent": {
          "description": "An actor taking an active role in the document.",
          "items": {
            "$ref": "#/definitions/DocumentReference_Agent"
          },
          "type": "array"
        },
        "authenticator": {
          "description": "Which person or organization authenticates that this document is valid.",
          "$ref": "#/definitions/Reference"
        },
        "custodian": {
          "description": "Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.",
          "$ref": "#/definitions/Reference"
        },
        "relatesTo": {
          "description": "Relationships that this document has with other document references that already exist.",
          "items": {
            "$ref": "#/definitions/DocumentReference_RelatesTo"
          },
          "type": "array"
        },
        "description": {
          "description": "Human-readable description of the source document. This is sometimes known as the \"title\".",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "securityLabel": {
          "description": "A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the \"reference\" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers to.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "content": {
          "description": "The document and format referenced. There may be multiple content element repetitions, each with a different format.",
          "items": {
            "$ref": "#/definitions/DocumentReference_Content"
          },
          "type": "array"
        },
        "context": {
          "description": "The clinical context in which the document was prepared.",
          "$ref": "#/definitions/DocumentReference_Context"
        }
      },
      "additionalProperties": false,
      "required": [
        "content",
        "resourceType"
      ]
    },
    "DocumentReference_Agent": {
      "description": "A reference to a document.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Specification of the participation type the agent played.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "who": {
          "description": "Identifies who is responsible for adding the information to the document.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "who"
      ]
    },
    "DocumentReference_RelatesTo": {
      "description": "A reference to a document.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The type of relationship that this document has with anther document.",
          "enum": [
            "replaces",
            "transforms",
            "signs",
            "appends"
          ]
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "target": {
          "description": "The target document of this relationship.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "target"
      ]
    },
    "DocumentReference_Content": {
      "description": "A reference to a document.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "attachment": {
          "description": "The document or URL of the document along with critical metadata to prove content has integrity.",
          "$ref": "#/definitions/Attachment"
        },
        "format": {
          "description": "An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType.",
          "$ref": "#/definitions/Coding"
        }
      },
      "additionalProperties": false,
      "required": [
        "attachment"
      ]
    },
    "DocumentReference_Context": {
      "description": "A reference to a document.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "encounter": {
          "description": "Describes the clinical encounter or type of care that the document content is associated with.",
          "$ref": "#/definitions/Reference"
        },
        "event": {
          "description": "This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "period": {
          "description": "The time period over which the service that is described by the document was provided.",
          "$ref": "#/definitions/Period"
        },
        "facilityType": {
          "description": "The kind of facility where the patient was seen.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "practiceSetting": {
          "description": "This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "sourcePatientInfo": {
          "description": "The Patient Information as known when the document was published. May be a reference to a version specific, or contained.",
          "$ref": "#/definitions/Reference"
        },
        "related": {
          "description": "Related identifiers or resources associated with the DocumentReference.",
          "items": {
            "$ref": "#/definitions/DocumentReference_Related"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "DocumentReference_Related": {
      "description": "A reference to a document.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Related identifier to this DocumentReference. If both id and ref are present they shall refer to the same thing.",
          "$ref": "#/definitions/Identifier"
        },
        "ref": {
          "description": "Related Resource to this DocumentReference. If both id and ref are present they shall refer to the same thing.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "EligibilityRequest": {
      "description": "The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.",
      "properties": {
        "resourceType": {
          "description": "This is a EligibilityRequest resource",
          "const": "EligibilityRequest"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The Response business identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "priority": {
          "description": "Immediate (STAT), best effort (NORMAL), deferred (DEFER).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "patient": {
          "description": "Patient Resource.",
          "$ref": "#/definitions/Reference"
        },
        "servicedDate": {
          "description": "The date or dates when the enclosed suite of services were performed or completed.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_servicedDate": {
          "description": "Extensions for servicedDate",
          "$ref": "#/definitions/Element"
        },
        "servicedPeriod": {
          "description": "The date or dates when the enclosed suite of services were performed or completed.",
          "$ref": "#/definitions/Period"
        },
        "created": {
          "description": "The date when this resource was created.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "enterer": {
          "description": "Person who created the invoice/claim/pre-determination or pre-authorization.",
          "$ref": "#/definitions/Reference"
        },
        "provider": {
          "description": "The practitioner who is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "organization": {
          "description": "The organization which is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "insurer": {
          "description": "The Insurer who is target  of the request.",
          "$ref": "#/definitions/Reference"
        },
        "facility": {
          "description": "Facility where the services were provided.",
          "$ref": "#/definitions/Reference"
        },
        "coverage": {
          "description": "Financial instrument by which payment information for health care.",
          "$ref": "#/definitions/Reference"
        },
        "businessArrangement": {
          "description": "The contract number of a business agreement which describes the terms and conditions.",
          "$ref": "#/definitions/string"
        },
        "_businessArrangement": {
          "description": "Extensions for businessArrangement",
          "$ref": "#/definitions/Element"
        },
        "benefitCategory": {
          "description": "Dental, Vision, Medical, Pharmacy, Rehab etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "benefitSubCategory": {
          "description": "Dental: basic, major, ortho; Vision exam, glasses, contacts; etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "authorization": {
          "description": "A list of billable services for which an authorization prior to service delivery may be required by the payor.",
          "items": {
            "$ref": "#/definitions/EligibilityRequest_Authorization"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "EligibilityRequest_Authorization": {
      "description": "The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of procedures which serves to order and provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "service": {
          "description": "A code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "modifier": {
          "description": "Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "unitPrice": {
          "description": "The fee for an addittional service or product or charge.",
          "$ref": "#/definitions/Money"
        },
        "facility": {
          "description": "Facility where the services were provided.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "service"
      ]
    },
    "EligibilityResponse": {
      "description": "This resource provides eligibility and plan details from the processing of an Eligibility resource.",
      "properties": {
        "resourceType": {
          "description": "This is a EligibilityResponse resource",
          "const": "EligibilityResponse"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The Response business identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "created": {
          "description": "The date when the enclosed suite of services were performed or completed.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "requestProvider": {
          "description": "The practitioner who is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "requestOrganization": {
          "description": "The organization which is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "request": {
          "description": "Original request resource reference.",
          "$ref": "#/definitions/Reference"
        },
        "outcome": {
          "description": "Transaction status: error, complete.",
          "enum": [
            "complete",
            "error",
            "partial"
          ]
        },
        "_outcome": {
          "description": "Extensions for outcome",
          "$ref": "#/definitions/Element"
        },
        "disposition": {
          "description": "A description of the status of the adjudication.",
          "$ref": "#/definitions/string"
        },
        "_disposition": {
          "description": "Extensions for disposition",
          "$ref": "#/definitions/Element"
        },
        "insurer": {
          "description": "The Insurer who produced this adjudicated response.",
          "$ref": "#/definitions/Reference"
        },
        "inforce": {
          "description": "Flag indicating if the coverage provided is inforce currently  if no service date(s) specified or for the whole duration of the service dates.",
          "$ref": "#/definitions/boolean"
        },
        "_inforce": {
          "description": "Extensions for inforce",
          "$ref": "#/definitions/Element"
        },
        "insurance": {
          "description": "The insurer may provide both the details for the requested coverage as well as details for additional coverages known to the insurer.",
          "items": {
            "$ref": "#/definitions/EligibilityResponse_Insurance"
          },
          "type": "array"
        },
        "preAuthRef": {
          "description": "A reference from the Insurer to which these services pertain.",
          "$ref": "#/definitions/string"
        },
        "_preAuthRef": {
          "description": "Extensions for preAuthRef",
          "$ref": "#/definitions/Element"
        },
        "authorization": {
          "description": "A list of billable services for which an authorization prior to service delivery may be required by the payor.",
          "items": {
            "$ref": "#/definitions/EligibilityResponse_Authorization"
          },
          "type": "array"
        },
        "form": {
          "description": "The form to be used for printing the content.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "error": {
          "description": "Mutually exclusive with Services Provided (Item).",
          "items": {
            "$ref": "#/definitions/EligibilityResponse_Error"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "EligibilityResponse_Insurance": {
      "description": "This resource provides eligibility and plan details from the processing of an Eligibility resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "coverage": {
          "description": "A suite of updated or additional Coverages from the Insurer.",
          "$ref": "#/definitions/Reference"
        },
        "contract": {
          "description": "The contract resource which may provide more detailed information.",
          "$ref": "#/definitions/Reference"
        },
        "benefitBalance": {
          "description": "Benefits and optionally current balances by Category.",
          "items": {
            "$ref": "#/definitions/EligibilityResponse_BenefitBalance"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "EligibilityResponse_BenefitBalance": {
      "description": "This resource provides eligibility and plan details from the processing of an Eligibility resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "category": {
          "description": "Dental, Vision, Medical, Pharmacy, Rehab etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subCategory": {
          "description": "Dental: basic, major, ortho; Vision exam, glasses, contacts; etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "excluded": {
          "description": "True if the indicated class of service is excluded from the plan, missing or False indicated the service is included in the coverage.",
          "$ref": "#/definitions/boolean"
        },
        "_excluded": {
          "description": "Extensions for excluded",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A short name or tag for the benefit, for example MED01, or DENT2.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A richer description of the benefit, for example \u0027DENT2 covers 100% of basic, 50% of major but exclused Ortho, Implants and Costmetic services\u0027.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "network": {
          "description": "Network designation.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "unit": {
          "description": "Unit designation: individual or family.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "term": {
          "description": "The term or period of the values such as \u0027maximum lifetime benefit\u0027 or \u0027maximum annual vistis\u0027.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "financial": {
          "description": "Benefits Used to date.",
          "items": {
            "$ref": "#/definitions/EligibilityResponse_Financial"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "category"
      ]
    },
    "EligibilityResponse_Financial": {
      "description": "This resource provides eligibility and plan details from the processing of an Eligibility resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Deductable, visits, benefit amount.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "allowedUnsignedInt": {
          "description": "Benefits allowed.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_allowedUnsignedInt": {
          "description": "Extensions for allowedUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "allowedString": {
          "description": "Benefits allowed.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_allowedString": {
          "description": "Extensions for allowedString",
          "$ref": "#/definitions/Element"
        },
        "allowedMoney": {
          "description": "Benefits allowed.",
          "$ref": "#/definitions/Money"
        },
        "usedUnsignedInt": {
          "description": "Benefits used.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_usedUnsignedInt": {
          "description": "Extensions for usedUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "usedMoney": {
          "description": "Benefits used.",
          "$ref": "#/definitions/Money"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "EligibilityResponse_Authorization": {
      "description": "This resource provides eligibility and plan details from the processing of an Eligibility resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "authorizationSequence": {
          "description": "Sequence of procedures which serves to order and provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_authorizationSequence": {
          "description": "Extensions for authorizationSequence",
          "$ref": "#/definitions/Element"
        },
        "required": {
          "description": "A boolean flag indicating whether a prior authorization or pre-authorization is required prior to actual service delivery.",
          "$ref": "#/definitions/boolean"
        },
        "_required": {
          "description": "Extensions for required",
          "$ref": "#/definitions/Element"
        },
        "note": {
          "description": "Any comments regarding information or actions assciated with the pre-authorization.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "EligibilityResponse_Error": {
      "description": "This resource provides eligibility and plan details from the processing of an Eligibility resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "An error code,from a specified code system, which details why the eligibility check could not be performed.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "Encounter": {
      "description": "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.",
      "properties": {
        "resourceType": {
          "description": "This is a Encounter resource",
          "const": "Encounter"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier(s) by which this encounter is known.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "planned | arrived | triaged | in-progress | onleave | finished | cancelled +.",
          "enum": [
            "planned",
            "arrived",
            "triaged",
            "in-progress",
            "onleave",
            "finished",
            "cancelled",
            "entered-in-error",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "statusHistory": {
          "description": "The status history permits the encounter resource to contain the status history without needing to read through the historical versions of the resource, or even have the server store them.",
          "items": {
            "$ref": "#/definitions/Encounter_StatusHistory"
          },
          "type": "array"
        },
        "class": {
          "description": "inpatient | outpatient | ambulatory | emergency +.",
          "$ref": "#/definitions/Coding"
        },
        "classHistory": {
          "description": "The class history permits the tracking of the encounters transitions without needing to go  through the resource history.\n\nThis would be used for a case where an admission starts of as an emergency encounter, then transisions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kindof discharge from emergency to inpatient.",
          "items": {
            "$ref": "#/definitions/Encounter_ClassHistory"
          },
          "type": "array"
        },
        "type": {
          "description": "Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "serviceType": {
          "description": "Broad categorization of the service that is to be provided (e.g. cardiology).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "priority": {
          "description": "Indicates the urgency of the encounter.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The patient or group present at the encounter.",
          "$ref": "#/definitions/Reference"
        },
        "episodeOfCare": {
          "description": "Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem.  The association is recorded on the encounter as these are typically created after the episode of care, and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "incomingReferral": {
          "description": "The referral request this encounter satisfies (incoming referral).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "participant": {
          "description": "The list of people responsible for providing the service.",
          "items": {
            "$ref": "#/definitions/Encounter_Participant"
          },
          "type": "array"
        },
        "appointment": {
          "description": "The appointment that scheduled this encounter.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "The start and end time of the encounter.",
          "$ref": "#/definitions/Period"
        },
        "length": {
          "description": "Quantity of time the encounter lasted. This excludes the time during leaves of absence.",
          "$ref": "#/definitions/Duration"
        },
        "reason": {
          "description": "Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "diagnosis": {
          "description": "The list of diagnosis relevant to this encounter.",
          "items": {
            "$ref": "#/definitions/Encounter_Diagnosis"
          },
          "type": "array"
        },
        "account": {
          "description": "The set of accounts that may be used for billing for this Encounter.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "hospitalization": {
          "description": "Details about the admission to a healthcare service.",
          "$ref": "#/definitions/Encounter_Hospitalization"
        },
        "location": {
          "description": "List of locations where  the patient has been during this encounter.",
          "items": {
            "$ref": "#/definitions/Encounter_Location"
          },
          "type": "array"
        },
        "serviceProvider": {
          "description": "The organization that is primarily responsible for this Encounter\u0027s services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation.\n\nRefer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.",
          "$ref": "#/definitions/Reference"
        },
        "partOf": {
          "description": "Another Encounter of which this encounter is a part of (administratively or in time).",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Encounter_StatusHistory": {
      "description": "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "status": {
          "description": "planned | arrived | triaged | in-progress | onleave | finished | cancelled +.",
          "enum": [
            "planned",
            "arrived",
            "triaged",
            "in-progress",
            "onleave",
            "finished",
            "cancelled",
            "entered-in-error",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The time that the episode was in the specified status.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false,
      "required": [
        "period"
      ]
    },
    "Encounter_ClassHistory": {
      "description": "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "class": {
          "description": "inpatient | outpatient | ambulatory | emergency +.",
          "$ref": "#/definitions/Coding"
        },
        "period": {
          "description": "The time that the episode was in the specified class.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false,
      "required": [
        "period",
        "class"
      ]
    },
    "Encounter_Participant": {
      "description": "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Role of participant in encounter.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "period": {
          "description": "The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter\u0027s period.",
          "$ref": "#/definitions/Period"
        },
        "individual": {
          "description": "Persons involved in the encounter other than the patient.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Encounter_Diagnosis": {
      "description": "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "condition": {
          "description": "Reason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure.",
          "$ref": "#/definitions/Reference"
        },
        "role": {
          "description": "Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "rank": {
          "description": "Ranking of the diagnosis (for each role type).",
          "$ref": "#/definitions/positiveInt"
        },
        "_rank": {
          "description": "Extensions for rank",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "condition"
      ]
    },
    "Encounter_Hospitalization": {
      "description": "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "preAdmissionIdentifier": {
          "description": "Pre-admission identifier.",
          "$ref": "#/definitions/Identifier"
        },
        "origin": {
          "description": "The location from which the patient came before admission.",
          "$ref": "#/definitions/Reference"
        },
        "admitSource": {
          "description": "From where patient was admitted (physician referral, transfer).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reAdmission": {
          "description": "Whether this hospitalization is a readmission and why if known.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "dietPreference": {
          "description": "Diet preferences reported by the patient.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specialCourtesy": {
          "description": "Special courtesies (VIP, board member).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specialArrangement": {
          "description": "Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "destination": {
          "description": "Location to which the patient is discharged.",
          "$ref": "#/definitions/Reference"
        },
        "dischargeDisposition": {
          "description": "Category or kind of location after discharge.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "Encounter_Location": {
      "description": "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "location": {
          "description": "The location where the encounter takes place.",
          "$ref": "#/definitions/Reference"
        },
        "status": {
          "description": "The status of the participants\u0027 presence at the specified location during the period specified. If the participant is is no longer at the location, then the period will have an end date/time.",
          "enum": [
            "planned",
            "active",
            "reserved",
            "completed"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "Time period during which the patient was present at the location.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false,
      "required": [
        "location"
      ]
    },
    "Endpoint": {
      "description": "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.",
      "properties": {
        "resourceType": {
          "description": "This is a Endpoint resource",
          "const": "Endpoint"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier for the organization that is used to identify the endpoint across multiple disparate systems.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "active | suspended | error | off | test.",
          "enum": [
            "active",
            "suspended",
            "error",
            "off",
            "entered-in-error",
            "test"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "connectionType": {
          "description": "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).",
          "$ref": "#/definitions/Coding"
        },
        "name": {
          "description": "A friendly name that this endpoint can be referred to with.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "managingOrganization": {
          "description": "The organization that manages this endpoint (even if technically another organisation is hosting this in the cloud, it is the organisation associated with the data).",
          "$ref": "#/definitions/Reference"
        },
        "contact": {
          "description": "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "period": {
          "description": "The interval during which the endpoint is expected to be operational.",
          "$ref": "#/definitions/Period"
        },
        "payloadType": {
          "description": "The payload type describes the acceptable content that can be communicated on the endpoint.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "payloadMimeType": {
          "description": "The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType).",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_payloadMimeType": {
          "description": "Extensions for payloadMimeType",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "address": {
          "description": "The uri that describes the actual end-point to connect to.",
          "$ref": "#/definitions/uri"
        },
        "_address": {
          "description": "Extensions for address",
          "$ref": "#/definitions/Element"
        },
        "header": {
          "description": "Additional headers / information to send as part of the notification.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_header": {
          "description": "Extensions for header",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "payloadType",
        "connectionType",
        "resourceType"
      ]
    },
    "EnrollmentRequest": {
      "description": "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.",
      "properties": {
        "resourceType": {
          "description": "This is a EnrollmentRequest resource",
          "const": "EnrollmentRequest"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The Response business identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "created": {
          "description": "The date when this resource was created.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "insurer": {
          "description": "The Insurer who is target  of the request.",
          "$ref": "#/definitions/Reference"
        },
        "provider": {
          "description": "The practitioner who is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "organization": {
          "description": "The organization which is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "candidate": {
          "description": "Patient Resource.",
          "$ref": "#/definitions/Reference"
        },
        "coverage": {
          "description": "Reference to the program or plan identification, underwriter or payor.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "EnrollmentResponse": {
      "description": "This resource provides enrollment and plan details from the processing of an Enrollment resource.",
      "properties": {
        "resourceType": {
          "description": "This is a EnrollmentResponse resource",
          "const": "EnrollmentResponse"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The Response business identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "request": {
          "description": "Original request resource reference.",
          "$ref": "#/definitions/Reference"
        },
        "outcome": {
          "description": "Processing status: error, complete.",
          "enum": [
            "complete",
            "error",
            "partial"
          ]
        },
        "_outcome": {
          "description": "Extensions for outcome",
          "$ref": "#/definitions/Element"
        },
        "disposition": {
          "description": "A description of the status of the adjudication.",
          "$ref": "#/definitions/string"
        },
        "_disposition": {
          "description": "Extensions for disposition",
          "$ref": "#/definitions/Element"
        },
        "created": {
          "description": "The date when the enclosed suite of services were performed or completed.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "organization": {
          "description": "The Insurer who produced this adjudicated response.",
          "$ref": "#/definitions/Reference"
        },
        "requestProvider": {
          "description": "The practitioner who is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "requestOrganization": {
          "description": "The organization which is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "EntryDefinition": {
      "description": "Catalog entries are wrappers that contextualize items included in a catalog.",
      "properties": {
        "resourceType": {
          "description": "This is a EntryDefinition resource",
          "const": "EntryDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of item - medication, device, service, protocol or other.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "purpose": {
          "description": "Whether the entry represents an orderable item, or other.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "referencedItem": {
          "description": "Content of the catalog.",
          "$ref": "#/definitions/Reference"
        },
        "identifier": {
          "description": "Used in supporting different identifiers for the same product, e.g. manufacturer code and retailer code.",
          "$ref": "#/definitions/Identifier"
        },
        "additionalIdentifier": {
          "description": "Used in supporting related concepts, e.g. NDC to RxNorm.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "classification": {
          "description": "Classes of devices, or ATC for medication.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "status": {
          "description": "Used to support catalog exchange even for unsupported products, e.g. getting list of medications even if not prescribable.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "validityPeriod": {
          "description": "The time period in which this catalog entry is expected to be active.",
          "$ref": "#/definitions/Period"
        },
        "lastUpdated": {
          "description": "Typically date of issue is different from the beginning of the validity. This can be used to see when an item was last updated.",
          "$ref": "#/definitions/dateTime"
        },
        "_lastUpdated": {
          "description": "Extensions for lastUpdated",
          "$ref": "#/definitions/Element"
        },
        "additionalCharacteristic": {
          "description": "Used for examplefor Out of Formulary, or any specifics.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "additionalClassification": {
          "description": "User for example for ATC classification, or.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "relatedEntry": {
          "description": "Used for example, to point to a substance, or to a device used to administer a medication.",
          "items": {
            "$ref": "#/definitions/EntryDefinition_RelatedEntry"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "purpose",
        "resourceType",
        "referencedItem"
      ]
    },
    "EntryDefinition_RelatedEntry": {
      "description": "Catalog entries are wrappers that contextualize items included in a catalog.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "relationtype": {
          "description": "The type of relation to the related item: child, parent, packageContent, containerPackage, usedIn, uses, requires, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "item": {
          "description": "The reference to the related item.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "item",
        "relationtype"
      ]
    },
    "EpisodeOfCare": {
      "description": "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.",
      "properties": {
        "resourceType": {
          "description": "This is a EpisodeOfCare resource",
          "const": "EpisodeOfCare"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The EpisodeOfCare may be known by different identifiers for different contexts of use, such as when an external agency is tracking the Episode for funding purposes.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "planned | waitlist | active | onhold | finished | cancelled.",
          "enum": [
            "planned",
            "waitlist",
            "active",
            "onhold",
            "finished",
            "cancelled",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "statusHistory": {
          "description": "The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource).",
          "items": {
            "$ref": "#/definitions/EpisodeOfCare_StatusHistory"
          },
          "type": "array"
        },
        "type": {
          "description": "A classification of the type of episode of care; e.g. specialist referral, disease management, type of funded care.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "diagnosis": {
          "description": "The list of diagnosis relevant to this episode of care.",
          "items": {
            "$ref": "#/definitions/EpisodeOfCare_Diagnosis"
          },
          "type": "array"
        },
        "patient": {
          "description": "The patient who is the focus of this episode of care.",
          "$ref": "#/definitions/Reference"
        },
        "managingOrganization": {
          "description": "The organization that has assumed the specific responsibilities for the specified duration.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "The interval during which the managing organization assumes the defined responsibility.",
          "$ref": "#/definitions/Period"
        },
        "referralRequest": {
          "description": "Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "careManager": {
          "description": "The practitioner that is the care manager/care co-ordinator for this patient.",
          "$ref": "#/definitions/Reference"
        },
        "team": {
          "description": "The list of practitioners that may be facilitating this episode of care for specific purposes.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "account": {
          "description": "The set of accounts that may be used for billing for this EpisodeOfCare.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "patient",
        "resourceType"
      ]
    },
    "EpisodeOfCare_StatusHistory": {
      "description": "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "status": {
          "description": "planned | waitlist | active | onhold | finished | cancelled.",
          "enum": [
            "planned",
            "waitlist",
            "active",
            "onhold",
            "finished",
            "cancelled",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The period during this EpisodeOfCare that the specific status applied.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false,
      "required": [
        "period"
      ]
    },
    "EpisodeOfCare_Diagnosis": {
      "description": "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "condition": {
          "description": "A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for.",
          "$ref": "#/definitions/Reference"
        },
        "role": {
          "description": "Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "rank": {
          "description": "Ranking of the diagnosis (for each role type).",
          "$ref": "#/definitions/positiveInt"
        },
        "_rank": {
          "description": "Extensions for rank",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "condition"
      ]
    },
    "EventDefinition": {
      "description": "The EventDefinition resource provides a reusable description of when a particular event can occur.",
      "properties": {
        "resourceType": {
          "description": "This is a EventDefinition resource",
          "const": "EventDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this event definition is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this event definition when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the event definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the event definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the event definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the event definition.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this event definition. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this event definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the event definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the event definition changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the event definition.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A free text natural language description of the event definition from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "Explaination of why this event definition is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "usage": {
          "description": "A detailed description of how the event definition is used from a clinical perspective.",
          "$ref": "#/definitions/string"
        },
        "_usage": {
          "description": "Extensions for usage",
          "$ref": "#/definitions/Element"
        },
        "approvalDate": {
          "description": "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.",
          "$ref": "#/definitions/date"
        },
        "_approvalDate": {
          "description": "Extensions for approvalDate",
          "$ref": "#/definitions/Element"
        },
        "lastReviewDate": {
          "description": "The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn\u0027t change the original approval date.",
          "$ref": "#/definitions/date"
        },
        "_lastReviewDate": {
          "description": "Extensions for lastReviewDate",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The period during which the event definition content was or is planned to be in active use.",
          "$ref": "#/definitions/Period"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate event definition instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the event definition is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "topic": {
          "description": "Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "contributor": {
          "description": "A contributor to the content of the module, including authors, editors, reviewers, and endorsers.",
          "items": {
            "$ref": "#/definitions/Contributor"
          },
          "type": "array"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the event definition.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "relatedArtifact": {
          "description": "Related resources such as additional documentation, justification, or bibliographic references.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "trigger": {
          "description": "The trigger element defines when the event occurs.",
          "$ref": "#/definitions/TriggerDefinition"
        }
      },
      "additionalProperties": false,
      "required": [
        "trigger",
        "resourceType"
      ]
    },
    "ExampleScenario": {
      "description": "Example of workflow instance.",
      "properties": {
        "resourceType": {
          "description": "This is a ExampleScenario resource",
          "const": "ExampleScenario"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this example scenario is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this example scenario. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the example scenario was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the \u0027content logical definition\u0027).",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the example scenario.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate example scenario instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the example scenario is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "What is the example scenario resource created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "actor": {
          "description": "Actor participating in the resource.",
          "items": {
            "$ref": "#/definitions/ExampleScenario_Actor"
          },
          "type": "array"
        },
        "instance": {
          "description": "Each resource and each version that is present in the workflow.",
          "items": {
            "$ref": "#/definitions/ExampleScenario_Instance"
          },
          "type": "array"
        },
        "process": {
          "description": "Each major process - a group of operations.",
          "items": {
            "$ref": "#/definitions/ExampleScenario_Process"
          },
          "type": "array"
        },
        "workflow": {
          "description": "Another nested workflow.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ExampleScenario_Actor": {
      "description": "Example of workflow instance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "actorId": {
          "description": "ID or acronym of actor.",
          "$ref": "#/definitions/string"
        },
        "_actorId": {
          "description": "Extensions for actorId",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of actor - person or system.",
          "enum": [
            "person",
            "entity"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "The name of the actor as shown in the page.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "The description of the actor.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ExampleScenario_Instance": {
      "description": "Example of workflow instance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "resourceId": {
          "description": "The id of the resource for referencing.",
          "$ref": "#/definitions/string"
        },
        "_resourceId": {
          "description": "Extensions for resourceId",
          "$ref": "#/definitions/Element"
        },
        "resourceType": {
          "description": "The type of the resource.",
          "$ref": "#/definitions/code"
        },
        "_resourceType": {
          "description": "Extensions for resourceType",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A short name for the resource instance.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Human-friendly description of the resource instance.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "A specific version of the resource.",
          "items": {
            "$ref": "#/definitions/ExampleScenario_Version"
          },
          "type": "array"
        },
        "containedInstance": {
          "description": "Resources contained in the instance (e.g. the observations contained in a bundle).",
          "items": {
            "$ref": "#/definitions/ExampleScenario_ContainedInstance"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExampleScenario_Version": {
      "description": "Example of workflow instance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "versionId": {
          "description": "The identifier of a specific version of a resource.",
          "$ref": "#/definitions/string"
        },
        "_versionId": {
          "description": "Extensions for versionId",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "The description of the resource version.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ExampleScenario_ContainedInstance": {
      "description": "Example of workflow instance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "resourceId": {
          "description": "Each resource contained in the instance.",
          "$ref": "#/definitions/string"
        },
        "_resourceId": {
          "description": "Extensions for resourceId",
          "$ref": "#/definitions/Element"
        },
        "versionId": {
          "description": "A specific version of a resource contained in the instance.",
          "$ref": "#/definitions/string"
        },
        "_versionId": {
          "description": "Extensions for versionId",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ExampleScenario_Process": {
      "description": "Example of workflow instance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "title": {
          "description": "The diagram title of the group of operations.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A longer description of the group of operations.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "preConditions": {
          "description": "Description of initial status before the process starts.",
          "$ref": "#/definitions/markdown"
        },
        "_preConditions": {
          "description": "Extensions for preConditions",
          "$ref": "#/definitions/Element"
        },
        "postConditions": {
          "description": "Description of final status after the process ends.",
          "$ref": "#/definitions/markdown"
        },
        "_postConditions": {
          "description": "Extensions for postConditions",
          "$ref": "#/definitions/Element"
        },
        "step": {
          "description": "Each step of the process.",
          "items": {
            "$ref": "#/definitions/ExampleScenario_Step"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExampleScenario_Step": {
      "description": "Example of workflow instance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "process": {
          "description": "Nested process.",
          "items": {
            "$ref": "#/definitions/ExampleScenario_Process"
          },
          "type": "array"
        },
        "pause": {
          "description": "If there is a pause in the flow.",
          "$ref": "#/definitions/boolean"
        },
        "_pause": {
          "description": "Extensions for pause",
          "$ref": "#/definitions/Element"
        },
        "operation": {
          "description": "Each interaction or action.",
          "$ref": "#/definitions/ExampleScenario_Operation"
        },
        "alternative": {
          "description": "Each interaction in the workflow.",
          "$ref": "#/definitions/ExampleScenario_Alternative"
        }
      },
      "additionalProperties": false
    },
    "ExampleScenario_Operation": {
      "description": "Example of workflow instance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "number": {
          "description": "The sequential number of the interaction.",
          "$ref": "#/definitions/string"
        },
        "_number": {
          "description": "Extensions for number",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of operation - CRUD.",
          "$ref": "#/definitions/string"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "The human-friendly name of the interaction.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "initiator": {
          "description": "Who starts the transaction.",
          "$ref": "#/definitions/string"
        },
        "_initiator": {
          "description": "Extensions for initiator",
          "$ref": "#/definitions/Element"
        },
        "receiver": {
          "description": "Who receives the transaction.",
          "$ref": "#/definitions/string"
        },
        "_receiver": {
          "description": "Extensions for receiver",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A comment to be inserted in the diagram.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "initiatorActive": {
          "description": "Whether the initiator is deactivated right after the transaction.",
          "$ref": "#/definitions/boolean"
        },
        "_initiatorActive": {
          "description": "Extensions for initiatorActive",
          "$ref": "#/definitions/Element"
        },
        "receiverActive": {
          "description": "Whether the receiver is deactivated right after the transaction.",
          "$ref": "#/definitions/boolean"
        },
        "_receiverActive": {
          "description": "Extensions for receiverActive",
          "$ref": "#/definitions/Element"
        },
        "request": {
          "description": "Each resource instance used by the initiator.",
          "$ref": "#/definitions/ExampleScenario_ContainedInstance"
        },
        "response": {
          "description": "Each resource instance used by the responder.",
          "$ref": "#/definitions/ExampleScenario_ContainedInstance"
        }
      },
      "additionalProperties": false
    },
    "ExampleScenario_Alternative": {
      "description": "Example of workflow instance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of each alternative.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "option": {
          "description": "Each of the possible options in an alternative.",
          "items": {
            "$ref": "#/definitions/ExampleScenario_Option"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "option"
      ]
    },
    "ExampleScenario_Option": {
      "description": "Example of workflow instance.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "A human-readable description of each option.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "step": {
          "description": "What happens in each alternative option.",
          "items": {
            "$ref": "#/definitions/ExampleScenario_Step"
          },
          "type": "array"
        },
        "pause": {
          "description": "If there is a pause in the flow.",
          "items": {
            "$ref": "#/definitions/boolean"
          },
          "type": "array"
        },
        "_pause": {
          "description": "Extensions for pause",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExpansionProfile": {
      "description": "Resource to define constraints on the Expansion of a FHIR ValueSet.",
      "properties": {
        "resourceType": {
          "description": "This is a ExpansionProfile resource",
          "const": "ExpansionProfile"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this expansion profile is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this expansion profile when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "$ref": "#/definitions/Identifier"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the expansion profile author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the expansion profile. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this expansion profile. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this expansion profile is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the expansion profile was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the expansion profile changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the expansion profile.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the expansion profile from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate expansion profile instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the expansion profile is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "fixedVersion": {
          "description": "Fix use of a particular code system to a particular version.",
          "items": {
            "$ref": "#/definitions/ExpansionProfile_FixedVersion"
          },
          "type": "array"
        },
        "excludedSystem": {
          "description": "Code system, or a particular version of a code system to be excluded from value set expansions.",
          "$ref": "#/definitions/ExpansionProfile_ExcludedSystem"
        },
        "includeDesignations": {
          "description": "Controls whether concept designations are to be included or excluded in value set expansions.",
          "$ref": "#/definitions/boolean"
        },
        "_includeDesignations": {
          "description": "Extensions for includeDesignations",
          "$ref": "#/definitions/Element"
        },
        "designation": {
          "description": "A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designations.",
          "$ref": "#/definitions/ExpansionProfile_Designation"
        },
        "includeDefinition": {
          "description": "Controls whether the value set definition is included or excluded in value set expansions.",
          "$ref": "#/definitions/boolean"
        },
        "_includeDefinition": {
          "description": "Extensions for includeDefinition",
          "$ref": "#/definitions/Element"
        },
        "activeOnly": {
          "description": "Controls whether inactive concepts are included or excluded in value set expansions.",
          "$ref": "#/definitions/boolean"
        },
        "_activeOnly": {
          "description": "Extensions for activeOnly",
          "$ref": "#/definitions/Element"
        },
        "excludeNested": {
          "description": "Controls whether or not the value set expansion nests codes or not (i.e. ValueSet.expansion.contains.contains).",
          "$ref": "#/definitions/boolean"
        },
        "_excludeNested": {
          "description": "Extensions for excludeNested",
          "$ref": "#/definitions/Element"
        },
        "excludeNotForUI": {
          "description": "Controls whether or not the value set expansion includes codes which cannot be displayed in user interfaces.",
          "$ref": "#/definitions/boolean"
        },
        "_excludeNotForUI": {
          "description": "Extensions for excludeNotForUI",
          "$ref": "#/definitions/Element"
        },
        "excludePostCoordinated": {
          "description": "Controls whether or not the value set expansion includes post coordinated codes.",
          "$ref": "#/definitions/boolean"
        },
        "_excludePostCoordinated": {
          "description": "Extensions for excludePostCoordinated",
          "$ref": "#/definitions/Element"
        },
        "displayLanguage": {
          "description": "Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display.",
          "$ref": "#/definitions/code"
        },
        "_displayLanguage": {
          "description": "Extensions for displayLanguage",
          "$ref": "#/definitions/Element"
        },
        "limitedExpansion": {
          "description": "If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete, using the extension [http://hl7.org/fhir/StructureDefinition/valueset-toocostly](extension-valueset-toocostly.html).",
          "$ref": "#/definitions/boolean"
        },
        "_limitedExpansion": {
          "description": "Extensions for limitedExpansion",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ExpansionProfile_FixedVersion": {
      "description": "Resource to define constraints on the Expansion of a FHIR ValueSet.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "system": {
          "description": "The specific system for which to fix the version.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The version of the code system from which codes in the expansion should be included.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "mode": {
          "description": "How to manage the intersection between a fixed version in a value set, and this fixed version of the system in the expansion profile.",
          "enum": [
            "default",
            "check",
            "override"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ExpansionProfile_ExcludedSystem": {
      "description": "Resource to define constraints on the Expansion of a FHIR ValueSet.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "system": {
          "description": "An absolute URI which is the code system to be excluded.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The version of the code system from which codes in the expansion should be excluded.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ExpansionProfile_Designation": {
      "description": "Resource to define constraints on the Expansion of a FHIR ValueSet.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "include": {
          "description": "Designations to be included.",
          "$ref": "#/definitions/ExpansionProfile_Include"
        },
        "exclude": {
          "description": "Designations to be excluded.",
          "$ref": "#/definitions/ExpansionProfile_Exclude"
        }
      },
      "additionalProperties": false
    },
    "ExpansionProfile_Include": {
      "description": "Resource to define constraints on the Expansion of a FHIR ValueSet.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "designation": {
          "description": "A data group for each designation to be included.",
          "items": {
            "$ref": "#/definitions/ExpansionProfile_Designation1"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExpansionProfile_Designation1": {
      "description": "Resource to define constraints on the Expansion of a FHIR ValueSet.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "language": {
          "description": "The language this designation is defined for.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "use": {
          "description": "Which kinds of designation to include in the expansion.",
          "$ref": "#/definitions/Coding"
        }
      },
      "additionalProperties": false
    },
    "ExpansionProfile_Exclude": {
      "description": "Resource to define constraints on the Expansion of a FHIR ValueSet.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "designation": {
          "description": "A data group for each designation to be excluded.",
          "items": {
            "$ref": "#/definitions/ExpansionProfile_Designation2"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExpansionProfile_Designation2": {
      "description": "Resource to define constraints on the Expansion of a FHIR ValueSet.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "language": {
          "description": "The language this designation is defined for.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "use": {
          "description": "Which kinds of designation to exclude from the expansion.",
          "$ref": "#/definitions/Coding"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "resourceType": {
          "description": "This is a ExplanationOfBenefit resource",
          "const": "ExplanationOfBenefit"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The EOB Business Identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "enum": [
            "active",
            "cancelled",
            "draft",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The category of claim, eg, oral, pharmacy, vision, insitutional, professional.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subType": {
          "description": "A finer grained suite of claim subtype codes which may convey Inpatient vs Outpatient and/or a specialty service. In the US the BillType.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "patient": {
          "description": "Patient Resource.",
          "$ref": "#/definitions/Reference"
        },
        "billablePeriod": {
          "description": "The billable period for which charges are being submitted.",
          "$ref": "#/definitions/Period"
        },
        "created": {
          "description": "The date when the EOB was created.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "enterer": {
          "description": "The person who created the explanation of benefit.",
          "$ref": "#/definitions/Reference"
        },
        "insurer": {
          "description": "The insurer which is responsible for the explanation of benefit.",
          "$ref": "#/definitions/Reference"
        },
        "provider": {
          "description": "The provider which is responsible for the claim.",
          "$ref": "#/definitions/Reference"
        },
        "organization": {
          "description": "The provider which is responsible for the claim.",
          "$ref": "#/definitions/Reference"
        },
        "referral": {
          "description": "The referral resource which lists the date, practitioner, reason and other supporting information.",
          "$ref": "#/definitions/Reference"
        },
        "facility": {
          "description": "Facility where the services were provided.",
          "$ref": "#/definitions/Reference"
        },
        "claim": {
          "description": "The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number.",
          "$ref": "#/definitions/Reference"
        },
        "claimResponse": {
          "description": "The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number.",
          "$ref": "#/definitions/Reference"
        },
        "outcome": {
          "description": "Processing outcome errror, partial or complete processing.",
          "$ref": "#/definitions/code"
        },
        "_outcome": {
          "description": "Extensions for outcome",
          "$ref": "#/definitions/Element"
        },
        "disposition": {
          "description": "A description of the status of the adjudication.",
          "$ref": "#/definitions/string"
        },
        "_disposition": {
          "description": "Extensions for disposition",
          "$ref": "#/definitions/Element"
        },
        "related": {
          "description": "Other claims which are related to this claim such as prior claim versions or for related services.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Related"
          },
          "type": "array"
        },
        "prescription": {
          "description": "Prescription to support the dispensing of Pharmacy or Vision products.",
          "$ref": "#/definitions/Reference"
        },
        "originalPrescription": {
          "description": "Original prescription which has been superceded by this prescription to support the dispensing of pharmacy services, medications or products. For example, a physician may prescribe a medication which the pharmacy determines is contraindicated, or for which the patient has an intolerance, and therefor issues a new precription for an alternate medication which has the same theraputic intent. The prescription from the pharmacy becomes the \u0027prescription\u0027 and that from the physician becomes the \u0027original prescription\u0027.",
          "$ref": "#/definitions/Reference"
        },
        "payee": {
          "description": "The party to be reimbursed for the services.",
          "$ref": "#/definitions/ExplanationOfBenefit_Payee"
        },
        "information": {
          "description": "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. Often there are mutiple jurisdiction specific valuesets which are required.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Information"
          },
          "type": "array"
        },
        "careTeam": {
          "description": "The members of the team who provided the overall service as well as their role and whether responsible and qualifications.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_CareTeam"
          },
          "type": "array"
        },
        "diagnosis": {
          "description": "Ordered list of patient diagnosis for which care is sought.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Diagnosis"
          },
          "type": "array"
        },
        "procedure": {
          "description": "Ordered list of patient procedures performed to support the adjudication.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Procedure"
          },
          "type": "array"
        },
        "precedence": {
          "description": "Precedence (primary, secondary, etc.).",
          "$ref": "#/definitions/positiveInt"
        },
        "_precedence": {
          "description": "Extensions for precedence",
          "$ref": "#/definitions/Element"
        },
        "insurance": {
          "description": "Financial instrument by which payment information for health care.",
          "$ref": "#/definitions/ExplanationOfBenefit_Insurance"
        },
        "accident": {
          "description": "An accident which resulted in the need for healthcare services.",
          "$ref": "#/definitions/ExplanationOfBenefit_Accident"
        },
        "employmentImpacted": {
          "description": "The start and optional end dates of when the patient was precluded from working due to the treatable condition(s).",
          "$ref": "#/definitions/Period"
        },
        "hospitalization": {
          "description": "The start and optional end dates of when the patient was confined to a treatment center.",
          "$ref": "#/definitions/Period"
        },
        "item": {
          "description": "First tier of goods and services.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Item"
          },
          "type": "array"
        },
        "addItem": {
          "description": "The first tier service adjudications for payor added services.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_AddItem"
          },
          "type": "array"
        },
        "totalCost": {
          "description": "The total cost of the services reported.",
          "$ref": "#/definitions/Money"
        },
        "unallocDeductable": {
          "description": "The amount of deductable applied which was not allocated to any particular service line.",
          "$ref": "#/definitions/Money"
        },
        "totalBenefit": {
          "description": "Total amount of benefit payable (Equal to sum of the Benefit amounts from all detail lines and additions less the Unallocated Deductable).",
          "$ref": "#/definitions/Money"
        },
        "payment": {
          "description": "Payment details for the claim if the claim has been paid.",
          "$ref": "#/definitions/ExplanationOfBenefit_Payment"
        },
        "form": {
          "description": "The form to be used for printing the content.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "processNote": {
          "description": "Note text.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_ProcessNote"
          },
          "type": "array"
        },
        "benefitBalance": {
          "description": "Balance by Benefit Category.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_BenefitBalance"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ExplanationOfBenefit_Related": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "claim": {
          "description": "Other claims which are related to this claim such as prior claim versions or for related services.",
          "$ref": "#/definitions/Reference"
        },
        "relationship": {
          "description": "For example prior or umbrella.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reference": {
          "description": "An alternate organizational reference to the case or file to which this particular claim pertains - eg Property/Casualy insurer claim # or Workers Compensation case # .",
          "$ref": "#/definitions/Identifier"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_Payee": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Type of Party to be reimbursed: Subscriber, provider, other.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "resource": {
          "description": "organization | patient | practitioner | relatedperson.",
          "$ref": "#/definitions/Coding"
        },
        "party": {
          "description": "Party to be reimbursed: Subscriber, provider, other.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_Information": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of the information element which serves to provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "The general class of the information supplied: information; exception; accident, employment; onset, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "code": {
          "description": "System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient  for which care is sought which may influence the adjudication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "timingDate": {
          "description": "The date when or period to which this information refers.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_timingDate": {
          "description": "Extensions for timingDate",
          "$ref": "#/definitions/Element"
        },
        "timingPeriod": {
          "description": "The date when or period to which this information refers.",
          "$ref": "#/definitions/Period"
        },
        "valueString": {
          "description": "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueQuantity": {
          "description": "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.",
          "$ref": "#/definitions/Quantity"
        },
        "valueAttachment": {
          "description": "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.",
          "$ref": "#/definitions/Attachment"
        },
        "valueReference": {
          "description": "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.",
          "$ref": "#/definitions/Reference"
        },
        "reason": {
          "description": "For example, provides the reason for: the additional stay, or missing tooth or any other situation where a reason code is required in addition to the content.",
          "$ref": "#/definitions/Coding"
        }
      },
      "additionalProperties": false,
      "required": [
        "category"
      ]
    },
    "ExplanationOfBenefit_CareTeam": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of careteam which serves to order and provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "provider": {
          "description": "The members of the team who provided the overall service.",
          "$ref": "#/definitions/Reference"
        },
        "responsible": {
          "description": "The practitioner who is billing and responsible for the claimed services rendered to the patient.",
          "$ref": "#/definitions/boolean"
        },
        "_responsible": {
          "description": "Extensions for responsible",
          "$ref": "#/definitions/Element"
        },
        "role": {
          "description": "The lead, assisting or supervising practitioner and their discipline if a multidisiplinary team.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "qualification": {
          "description": "The qualification which is applicable for this service.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "provider"
      ]
    },
    "ExplanationOfBenefit_Diagnosis": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of diagnosis which serves to provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "diagnosisCodeableConcept": {
          "description": "The diagnosis.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "diagnosisReference": {
          "description": "The diagnosis.",
          "$ref": "#/definitions/Reference"
        },
        "type": {
          "description": "The type of the Diagnosis, for example: admitting, primary, secondary, discharge.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "packageCode": {
          "description": "The package billing code, for example DRG, based on the assigned grouping code system.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_Procedure": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence of procedures which serves to order and provide a link.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "Date and optionally time the procedure was performed .",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "procedureCodeableConcept": {
          "description": "The procedure code.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "procedureReference": {
          "description": "The procedure code.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_Insurance": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "coverage": {
          "description": "Reference to the program or plan identification, underwriter or payor.",
          "$ref": "#/definitions/Reference"
        },
        "preAuthRef": {
          "description": "A list of references from the Insurer to which these services pertain.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_preAuthRef": {
          "description": "Extensions for preAuthRef",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_Accident": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "date": {
          "description": "Date of an accident which these services are addressing.",
          "$ref": "#/definitions/date"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Type of accident: work, auto, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "locationAddress": {
          "description": "Where the accident occurred.",
          "$ref": "#/definitions/Address"
        },
        "locationReference": {
          "description": "Where the accident occurred.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_Item": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "A service line number.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "careTeamSequence": {
          "description": "Careteam applicable for this service or product line.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_careTeamSequence": {
          "description": "Extensions for careTeamSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "diagnosisSequence": {
          "description": "Diagnosis applicable for this service or product line.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_diagnosisSequence": {
          "description": "Extensions for diagnosisSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "procedureSequence": {
          "description": "Procedures applicable for this service or product line.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_procedureSequence": {
          "description": "Extensions for procedureSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "informationSequence": {
          "description": "Exceptions, special conditions and supporting information pplicable for this service or product line.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_informationSequence": {
          "description": "Extensions for informationSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "revenue": {
          "description": "The type of reveneu or cost center providing the product and/or service.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "category": {
          "description": "Health Care Service Type Codes  to identify the classification of service or benefits.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "service": {
          "description": "If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. \u0027glasses\u0027 or \u0027compound\u0027.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "modifier": {
          "description": "Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "programCode": {
          "description": "For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "servicedDate": {
          "description": "The date or dates when the enclosed suite of services were performed or completed.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_servicedDate": {
          "description": "Extensions for servicedDate",
          "$ref": "#/definitions/Element"
        },
        "servicedPeriod": {
          "description": "The date or dates when the enclosed suite of services were performed or completed.",
          "$ref": "#/definitions/Period"
        },
        "locationCodeableConcept": {
          "description": "Where the service was provided.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "locationAddress": {
          "description": "Where the service was provided.",
          "$ref": "#/definitions/Address"
        },
        "locationReference": {
          "description": "Where the service was provided.",
          "$ref": "#/definitions/Reference"
        },
        "quantity": {
          "description": "The number of repetitions of a service or product.",
          "$ref": "#/definitions/Quantity"
        },
        "unitPrice": {
          "description": "If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group.",
          "$ref": "#/definitions/Money"
        },
        "factor": {
          "description": "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
          "$ref": "#/definitions/decimal"
        },
        "_factor": {
          "description": "Extensions for factor",
          "$ref": "#/definitions/Element"
        },
        "net": {
          "description": "The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points \u003d net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
          "$ref": "#/definitions/Money"
        },
        "udi": {
          "description": "List of Unique Device Identifiers associated with this line item.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "bodySite": {
          "description": "Physical service site on the patient (limb, tooth, etc).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subSite": {
          "description": "A region or surface of the site, eg. limb region or tooth surface(s).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "encounter": {
          "description": "A billed item may include goods or services provided in multiple encounters.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "noteNumber": {
          "description": "A list of note references to the notes provided below.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_noteNumber": {
          "description": "Extensions for noteNumber",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "adjudication": {
          "description": "The adjudications results.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Adjudication"
          },
          "type": "array"
        },
        "detail": {
          "description": "Second tier of goods and services.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Detail"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_Adjudication": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "category": {
          "description": "Code indicating: Co-Pay, deductable, elegible, benefit, tax, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reason": {
          "description": "Adjudication reason such as limit reached.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "amount": {
          "description": "Monitory amount associated with the code.",
          "$ref": "#/definitions/Money"
        },
        "value": {
          "description": "A non-monetary value for example a percentage. Mutually exclusive to the amount element above.",
          "$ref": "#/definitions/decimal"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "category"
      ]
    },
    "ExplanationOfBenefit_Detail": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "A service line number.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "revenue": {
          "description": "The type of reveneu or cost center providing the product and/or service.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "category": {
          "description": "Health Care Service Type Codes  to identify the classification of service or benefits.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "service": {
          "description": "If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. \u0027glasses\u0027 or \u0027compound\u0027.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "modifier": {
          "description": "Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "programCode": {
          "description": "For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "quantity": {
          "description": "The number of repetitions of a service or product.",
          "$ref": "#/definitions/Quantity"
        },
        "unitPrice": {
          "description": "If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group.",
          "$ref": "#/definitions/Money"
        },
        "factor": {
          "description": "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
          "$ref": "#/definitions/decimal"
        },
        "_factor": {
          "description": "Extensions for factor",
          "$ref": "#/definitions/Element"
        },
        "net": {
          "description": "The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points \u003d net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
          "$ref": "#/definitions/Money"
        },
        "udi": {
          "description": "List of Unique Device Identifiers associated with this line item.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "noteNumber": {
          "description": "A list of note references to the notes provided below.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_noteNumber": {
          "description": "Extensions for noteNumber",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "adjudication": {
          "description": "The adjudications results.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Adjudication"
          },
          "type": "array"
        },
        "subDetail": {
          "description": "Third tier of goods and services.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_SubDetail"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_SubDetail": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "A service line number.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "revenue": {
          "description": "The type of reveneu or cost center providing the product and/or service.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "category": {
          "description": "Health Care Service Type Codes  to identify the classification of service or benefits.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "service": {
          "description": "A code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "modifier": {
          "description": "Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "programCode": {
          "description": "For programs which require reson codes for the inclusion, covering, of this billed item under the program or sub-program.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "quantity": {
          "description": "The number of repetitions of a service or product.",
          "$ref": "#/definitions/Quantity"
        },
        "unitPrice": {
          "description": "The fee for an addittional service or product or charge.",
          "$ref": "#/definitions/Money"
        },
        "factor": {
          "description": "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
          "$ref": "#/definitions/decimal"
        },
        "_factor": {
          "description": "Extensions for factor",
          "$ref": "#/definitions/Element"
        },
        "net": {
          "description": "The quantity times the unit price for an addittional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points \u003d net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
          "$ref": "#/definitions/Money"
        },
        "udi": {
          "description": "List of Unique Device Identifiers associated with this line item.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "noteNumber": {
          "description": "A list of note references to the notes provided below.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_noteNumber": {
          "description": "Extensions for noteNumber",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "adjudication": {
          "description": "The adjudications results.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Adjudication"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_AddItem": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "itemSequence": {
          "description": "List of input service items which this service line is intended to replace.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_itemSequence": {
          "description": "Extensions for itemSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "detailSequence": {
          "description": "The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_detailSequence": {
          "description": "Extensions for detailSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "subDetailSequence": {
          "description": "The sequence number of the addition within the line item submitted which contains the error. This value is omitted when the error is not related to an Addition.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_subDetailSequence": {
          "description": "Extensions for subDetailSequence",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "service": {
          "description": "If this is an actual service or product line, ie. not a Group, then use code to indicate the Professional Service or Product supplied (eg. CTP, HCPCS,USCLS,ICD10, NCPDP,DIN,ACHI,CCI). If a grouping item then use a group code to indicate the type of thing being grouped eg. \u0027glasses\u0027 or \u0027compound\u0027.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "modifier": {
          "description": "Item typification or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or for medical whether the treatment was outside the clinic or out of office hours.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "fee": {
          "description": "The fee charged for the professional service or product.",
          "$ref": "#/definitions/Money"
        },
        "noteNumber": {
          "description": "A list of note references to the notes provided below.",
          "items": {
            "$ref": "#/definitions/positiveInt"
          },
          "type": "array"
        },
        "_noteNumber": {
          "description": "Extensions for noteNumber",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "adjudication": {
          "description": "The adjudications results.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Adjudication"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_Payment": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Whether this represents partial or complete payment of the claim.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "adjustment": {
          "description": "Adjustment to the payment of this transaction which is not related to adjudication of this transaction.",
          "$ref": "#/definitions/Money"
        },
        "adjustmentReason": {
          "description": "Reason for the payment adjustment.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "date": {
          "description": "Estimated payment date.",
          "$ref": "#/definitions/date"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "amount": {
          "description": "Payable less any payment adjustment.",
          "$ref": "#/definitions/Money"
        },
        "identifier": {
          "description": "Payment identifer.",
          "$ref": "#/definitions/Identifier"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_ProcessNote": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "number": {
          "description": "An integer associated with each note which may be referred to from each service line item.",
          "$ref": "#/definitions/positiveInt"
        },
        "_number": {
          "description": "Extensions for number",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The note purpose: Print/Display.",
          "enum": [
            "display",
            "print",
            "printoper"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "The note text.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "ExplanationOfBenefit_BenefitBalance": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "category": {
          "description": "Dental, Vision, Medical, Pharmacy, Rehab etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subCategory": {
          "description": "Dental: basic, major, ortho; Vision exam, glasses, contacts; etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "excluded": {
          "description": "True if the indicated class of service is excluded from the plan, missing or False indicated the service is included in the coverage.",
          "$ref": "#/definitions/boolean"
        },
        "_excluded": {
          "description": "Extensions for excluded",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A short name or tag for the benefit, for example MED01, or DENT2.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A richer description of the benefit, for example \u0027DENT2 covers 100% of basic, 50% of major but exclused Ortho, Implants and Costmetic services\u0027.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "network": {
          "description": "Network designation.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "unit": {
          "description": "Unit designation: individual or family.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "term": {
          "description": "The term or period of the values such as \u0027maximum lifetime benefit\u0027 or \u0027maximum annual vistis\u0027.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "financial": {
          "description": "Benefits Used to date.",
          "items": {
            "$ref": "#/definitions/ExplanationOfBenefit_Financial"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "category"
      ]
    },
    "ExplanationOfBenefit_Financial": {
      "description": "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Deductable, visits, benefit amount.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "allowedUnsignedInt": {
          "description": "Benefits allowed.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_allowedUnsignedInt": {
          "description": "Extensions for allowedUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "allowedString": {
          "description": "Benefits allowed.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_allowedString": {
          "description": "Extensions for allowedString",
          "$ref": "#/definitions/Element"
        },
        "allowedMoney": {
          "description": "Benefits allowed.",
          "$ref": "#/definitions/Money"
        },
        "usedUnsignedInt": {
          "description": "Benefits used.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_usedUnsignedInt": {
          "description": "Extensions for usedUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "usedMoney": {
          "description": "Benefits used.",
          "$ref": "#/definitions/Money"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "FamilyMemberHistory": {
      "description": "Significant health conditions for a person related to the patient relevant in the context of care for the patient.",
      "properties": {
        "resourceType": {
          "description": "This is a FamilyMemberHistory resource",
          "const": "FamilyMemberHistory"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this family member history record that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "instantiates": {
          "description": "A protocol or questionnaire that was adhered to in whole or in part by this event.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "status": {
          "description": "A code specifying the status of the record of the family history of a specific family member.",
          "enum": [
            "partial",
            "completed",
            "entered-in-error",
            "health-unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "dataAbsentReason": {
          "description": "Describes why the family member\u0027s history is not available.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "patient": {
          "description": "The person who this history concerns.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The date (and possibly time) when the family member history was taken.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\".",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "relationship": {
          "description": "The type of relationship this person has to the patient (father, mother, brother etc.).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "gender": {
          "description": "Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes.",
          "enum": [
            "male",
            "female",
            "other",
            "unknown"
          ]
        },
        "_gender": {
          "description": "Extensions for gender",
          "$ref": "#/definitions/Element"
        },
        "bornPeriod": {
          "description": "The actual or approximate date of birth of the relative.",
          "$ref": "#/definitions/Period"
        },
        "bornDate": {
          "description": "The actual or approximate date of birth of the relative.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_bornDate": {
          "description": "Extensions for bornDate",
          "$ref": "#/definitions/Element"
        },
        "bornString": {
          "description": "The actual or approximate date of birth of the relative.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_bornString": {
          "description": "Extensions for bornString",
          "$ref": "#/definitions/Element"
        },
        "ageAge": {
          "description": "The age of the relative at the time the family member history is recorded.",
          "$ref": "#/definitions/Age"
        },
        "ageRange": {
          "description": "The age of the relative at the time the family member history is recorded.",
          "$ref": "#/definitions/Range"
        },
        "ageString": {
          "description": "The age of the relative at the time the family member history is recorded.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_ageString": {
          "description": "Extensions for ageString",
          "$ref": "#/definitions/Element"
        },
        "estimatedAge": {
          "description": "If true, indicates that the age value specified is an estimated value.",
          "$ref": "#/definitions/boolean"
        },
        "_estimatedAge": {
          "description": "Extensions for estimatedAge",
          "$ref": "#/definitions/Element"
        },
        "deceasedBoolean": {
          "description": "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_deceasedBoolean": {
          "description": "Extensions for deceasedBoolean",
          "$ref": "#/definitions/Element"
        },
        "deceasedAge": {
          "description": "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.",
          "$ref": "#/definitions/Age"
        },
        "deceasedRange": {
          "description": "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.",
          "$ref": "#/definitions/Range"
        },
        "deceasedDate": {
          "description": "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_deceasedDate": {
          "description": "Extensions for deceasedDate",
          "$ref": "#/definitions/Element"
        },
        "deceasedString": {
          "description": "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_deceasedString": {
          "description": "Extensions for deceasedString",
          "$ref": "#/definitions/Element"
        },
        "reasonCode": {
          "description": "Describes why the family member history occurred in coded or textual form.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "condition": {
          "description": "The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition.",
          "items": {
            "$ref": "#/definitions/FamilyMemberHistory_Condition"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "patient",
        "relationship",
        "resourceType"
      ]
    },
    "FamilyMemberHistory_Condition": {
      "description": "Significant health conditions for a person related to the patient relevant in the context of care for the patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like \u0027cancer\u0027 depending on how much is known about the condition and the capabilities of the creating system.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "outcome": {
          "description": "Indicates what happened as a result of this condition.  If the condition resulted in death, deceased date is captured on the relation.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "onsetAge": {
          "description": "Either the age of onset, range of approximate age or descriptive string can be recorded.  For conditions with multiple occurrences, this describes the first known occurrence.",
          "$ref": "#/definitions/Age"
        },
        "onsetRange": {
          "description": "Either the age of onset, range of approximate age or descriptive string can be recorded.  For conditions with multiple occurrences, this describes the first known occurrence.",
          "$ref": "#/definitions/Range"
        },
        "onsetPeriod": {
          "description": "Either the age of onset, range of approximate age or descriptive string can be recorded.  For conditions with multiple occurrences, this describes the first known occurrence.",
          "$ref": "#/definitions/Period"
        },
        "onsetString": {
          "description": "Either the age of onset, range of approximate age or descriptive string can be recorded.  For conditions with multiple occurrences, this describes the first known occurrence.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_onsetString": {
          "description": "Extensions for onsetString",
          "$ref": "#/definitions/Element"
        },
        "note": {
          "description": "An area where general notes can be placed about this specific condition.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "Flag": {
      "description": "Prospective warnings of potential issues when providing care to the patient.",
      "properties": {
        "resourceType": {
          "description": "This is a Flag resource",
          "const": "Flag"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier assigned to the flag for external use (outside the FHIR environment).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Supports basic workflow.",
          "enum": [
            "active",
            "inactive",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Allows an flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "code": {
          "description": "The coded value or textual component of the flag to display to the user.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The patient, location, group , organization , or practitioner, etc. this is about record this flag is associated with.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified.",
          "$ref": "#/definitions/Period"
        },
        "encounter": {
          "description": "This alert is only relevant during the encounter.",
          "$ref": "#/definitions/Reference"
        },
        "author": {
          "description": "The person, organization or device that created the flag.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "code",
        "subject",
        "resourceType"
      ]
    },
    "Goal": {
      "description": "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.",
      "properties": {
        "resourceType": {
          "description": "This is a Goal resource",
          "const": "Goal"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this care plan that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Indicates whether the goal has been reached and is still considered relevant.",
          "enum": [
            "proposed",
            "accepted",
            "planned",
            "in-progress",
            "on-target",
            "ahead-of-target",
            "behind-target",
            "sustaining",
            "achieved",
            "on-hold",
            "cancelled",
            "entered-in-error",
            "rejected"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Indicates a category the goal falls within.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "priority": {
          "description": "Identifies the mutually agreed level of importance associated with reaching/sustaining the goal.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "Human-readable and/or coded description of a specific desired objective of care, such as \"control blood pressure\" or \"negotiate an obstacle course\" or \"dance with child at wedding\".",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "Identifies the patient, group or organization for whom the goal is being established.",
          "$ref": "#/definitions/Reference"
        },
        "startDate": {
          "description": "The date or event after which the goal should begin being pursued.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_startDate": {
          "description": "Extensions for startDate",
          "$ref": "#/definitions/Element"
        },
        "startCodeableConcept": {
          "description": "The date or event after which the goal should begin being pursued.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "target": {
          "description": "Indicates what should be done by when.",
          "$ref": "#/definitions/Goal_Target"
        },
        "statusDate": {
          "description": "Identifies when the current status.  I.e. When initially created, when achieved, when cancelled, etc.",
          "$ref": "#/definitions/date"
        },
        "_statusDate": {
          "description": "Extensions for statusDate",
          "$ref": "#/definitions/Element"
        },
        "statusReason": {
          "description": "Captures the reason for the current status.",
          "$ref": "#/definitions/string"
        },
        "_statusReason": {
          "description": "Extensions for statusReason",
          "$ref": "#/definitions/Element"
        },
        "expressedBy": {
          "description": "Indicates whose goal this is - patient goal, practitioner goal, etc.",
          "$ref": "#/definitions/Reference"
        },
        "addresses": {
          "description": "The identified conditions and other health record elements that are intended to be addressed by the goal.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Any comments related to the goal.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "outcomeCode": {
          "description": "Identifies the change (or lack of change) at the point when the status of the goal is assessed.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "outcomeReference": {
          "description": "Details of what\u0027s changed (or not changed).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "description",
        "resourceType"
      ]
    },
    "Goal_Target": {
      "description": "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "measure": {
          "description": "The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "detailQuantity": {
          "description": "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.",
          "$ref": "#/definitions/Quantity"
        },
        "detailRange": {
          "description": "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.",
          "$ref": "#/definitions/Range"
        },
        "detailCodeableConcept": {
          "description": "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "dueDate": {
          "description": "Indicates either the date or the duration after start by which the goal should be met.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_dueDate": {
          "description": "Extensions for dueDate",
          "$ref": "#/definitions/Element"
        },
        "dueDuration": {
          "description": "Indicates either the date or the duration after start by which the goal should be met.",
          "$ref": "#/definitions/Duration"
        }
      },
      "additionalProperties": false
    },
    "GraphDefinition": {
      "description": "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.",
      "properties": {
        "resourceType": {
          "description": "This is a GraphDefinition resource",
          "const": "GraphDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this graph definition is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this graph definition. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the graph definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the graph definition.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the graph definition from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate graph definition instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the graph definition is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this graph definition is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "start": {
          "description": "The type of FHIR resource at which instances of this graph start.",
          "$ref": "#/definitions/code"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "The profile that describes the use of the base resource.",
          "$ref": "#/definitions/uri"
        },
        "_profile": {
          "description": "Extensions for profile",
          "$ref": "#/definitions/Element"
        },
        "link": {
          "description": "Links this graph makes rules about.",
          "items": {
            "$ref": "#/definitions/GraphDefinition_Link"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "GraphDefinition_Link": {
      "description": "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "path": {
          "description": "A FHIR expression that identifies one of FHIR References to other resources.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        },
        "sliceName": {
          "description": "Which slice (if profiled).",
          "$ref": "#/definitions/string"
        },
        "_sliceName": {
          "description": "Extensions for sliceName",
          "$ref": "#/definitions/Element"
        },
        "min": {
          "description": "Minimum occurrences for this link.",
          "$ref": "#/definitions/integer"
        },
        "_min": {
          "description": "Extensions for min",
          "$ref": "#/definitions/Element"
        },
        "max": {
          "description": "Maximum occurrences for this link.",
          "$ref": "#/definitions/string"
        },
        "_max": {
          "description": "Extensions for max",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Information about why this link is of interest in this graph definition.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "target": {
          "description": "Potential target for the link.",
          "items": {
            "$ref": "#/definitions/GraphDefinition_Target"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "GraphDefinition_Target": {
      "description": "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Type of resource this link refers to.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "params": {
          "description": "A set of parameters to look up.",
          "$ref": "#/definitions/string"
        },
        "_params": {
          "description": "Extensions for params",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "Profile for the target resource.",
          "$ref": "#/definitions/uri"
        },
        "_profile": {
          "description": "Extensions for profile",
          "$ref": "#/definitions/Element"
        },
        "compartment": {
          "description": "Compartment Consistency Rules.",
          "items": {
            "$ref": "#/definitions/GraphDefinition_Compartment"
          },
          "type": "array"
        },
        "link": {
          "description": "Additional links from target resource.",
          "items": {
            "$ref": "#/definitions/GraphDefinition_Link"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "GraphDefinition_Compartment": {
      "description": "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "use": {
          "description": "Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed.",
          "enum": [
            "condition",
            "requirement"
          ]
        },
        "_use": {
          "description": "Extensions for use",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "Identifies the compartment.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "rule": {
          "description": "identical | matching | different | no-rule | custom.",
          "enum": [
            "identical",
            "matching",
            "different",
            "custom"
          ]
        },
        "_rule": {
          "description": "Extensions for rule",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "Custom rule, as a FHIRPath expression.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Documentation for FHIRPath expression.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Group": {
      "description": "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn\u0027t an Organization.",
      "properties": {
        "resourceType": {
          "description": "This is a Group resource",
          "const": "Group"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A unique business identifier for this group.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "Indicates whether the record for the group is available for use or is merely being retained for historical purposes.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Identifies the broad classification of the kind of resources the group includes.",
          "enum": [
            "person",
            "animal",
            "practitioner",
            "device",
            "medication",
            "substance"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "actual": {
          "description": "If true, indicates that the resource refers to a specific group of real individuals.  If false, the group defines a set of intended individuals.",
          "$ref": "#/definitions/boolean"
        },
        "_actual": {
          "description": "Extensions for actual",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "Provides a specific type of resource the group includes; e.g. \"cow\", \"syringe\", etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "name": {
          "description": "A label assigned to the group for human identification and communication.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "quantity": {
          "description": "A count of the number of resource instances that are part of the group.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_quantity": {
          "description": "Extensions for quantity",
          "$ref": "#/definitions/Element"
        },
        "characteristic": {
          "description": "Identifies the traits shared by members of the group.",
          "items": {
            "$ref": "#/definitions/Group_Characteristic"
          },
          "type": "array"
        },
        "member": {
          "description": "Identifies the resource instances that are members of the group.",
          "items": {
            "$ref": "#/definitions/Group_Member"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Group_Characteristic": {
      "description": "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn\u0027t an Organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code that identifies the kind of trait being asserted.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueCodeableConcept": {
          "description": "The value of the trait that holds (or does not hold - see \u0027exclude\u0027) for members of the group.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueBoolean": {
          "description": "The value of the trait that holds (or does not hold - see \u0027exclude\u0027) for members of the group.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueQuantity": {
          "description": "The value of the trait that holds (or does not hold - see \u0027exclude\u0027) for members of the group.",
          "$ref": "#/definitions/Quantity"
        },
        "valueRange": {
          "description": "The value of the trait that holds (or does not hold - see \u0027exclude\u0027) for members of the group.",
          "$ref": "#/definitions/Range"
        },
        "exclude": {
          "description": "If true, indicates the characteristic is one that is NOT held by members of the group.",
          "$ref": "#/definitions/boolean"
        },
        "_exclude": {
          "description": "Extensions for exclude",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The period over which the characteristic is tested; e.g. the patient had an operation during the month of June.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "Group_Member": {
      "description": "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn\u0027t an Organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "entity": {
          "description": "A reference to the entity that is a member of the group. Must be consistent with Group.type.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "The period that the member was in the group, if known.",
          "$ref": "#/definitions/Period"
        },
        "inactive": {
          "description": "A flag to indicate that the member is no longer in the group, but previously may have been a member.",
          "$ref": "#/definitions/boolean"
        },
        "_inactive": {
          "description": "Extensions for inactive",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "entity"
      ]
    },
    "GuidanceResponse": {
      "description": "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken.",
      "properties": {
        "resourceType": {
          "description": "This is a GuidanceResponse resource",
          "const": "GuidanceResponse"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "requestId": {
          "description": "The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario.",
          "$ref": "#/definitions/id"
        },
        "_requestId": {
          "description": "Extensions for requestId",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "Allows a service to provide a unique, business identifier for the response.",
          "$ref": "#/definitions/Identifier"
        },
        "module": {
          "description": "A reference to the knowledge module that was invoked.",
          "$ref": "#/definitions/Reference"
        },
        "status": {
          "description": "The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information.",
          "enum": [
            "success",
            "data-requested",
            "data-required",
            "in-progress",
            "failure",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "subject": {
          "description": "The patient for which the request was processed.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable.",
          "$ref": "#/definitions/Reference"
        },
        "occurrenceDateTime": {
          "description": "Indicates when the guidance response was processed.",
          "$ref": "#/definitions/dateTime"
        },
        "_occurrenceDateTime": {
          "description": "Extensions for occurrenceDateTime",
          "$ref": "#/definitions/Element"
        },
        "performer": {
          "description": "Provides a reference to the device that performed the guidance.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCodeableConcept": {
          "description": "Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reasonReference": {
          "description": "Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.",
          "$ref": "#/definitions/Reference"
        },
        "note": {
          "description": "Provides a mechanism to communicate additional information about the response.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "evaluationMessage": {
          "description": "Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "outputParameters": {
          "description": "The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.",
          "$ref": "#/definitions/Reference"
        },
        "result": {
          "description": "The actions, if any, produced by the evaluation of the artifact.",
          "$ref": "#/definitions/Reference"
        },
        "dataRequirement": {
          "description": "If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data.",
          "items": {
            "$ref": "#/definitions/DataRequirement"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "module",
        "resourceType"
      ]
    },
    "HealthcareService": {
      "description": "The details of a healthcare service available at a location.",
      "properties": {
        "resourceType": {
          "description": "This is a HealthcareService resource",
          "const": "HealthcareService"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "External identifiers for this item.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "This flag is used to mark the record to not be used. This is not used when a centre is closed for maintenance, or for holidays, the notAvailable period is to be used for this.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "providedBy": {
          "description": "The organization that provides this healthcare service.",
          "$ref": "#/definitions/Reference"
        },
        "category": {
          "description": "Identifies the broad category of service being performed or delivered.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "type": {
          "description": "The specific type of service that may be delivered or performed.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specialty": {
          "description": "Collection of specialties handled by the service site. This is more of a medical term.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "location": {
          "description": "The location(s) where this healthcare service may be provided.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "name": {
          "description": "Further description of the service as it would be presented to a consumer while searching.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "extraDetails": {
          "description": "Extra details about the service that can\u0027t be placed in the other fields.",
          "$ref": "#/definitions/string"
        },
        "_extraDetails": {
          "description": "Extensions for extraDetails",
          "$ref": "#/definitions/Element"
        },
        "photo": {
          "description": "If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list.",
          "$ref": "#/definitions/Attachment"
        },
        "telecom": {
          "description": "List of contacts related to this specific healthcare service.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "coverageArea": {
          "description": "The location(s) that this service is available to (not where the service is provided).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "serviceProvisionCode": {
          "description": "The code(s) that detail the conditions under which the healthcare service is available/offered.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "eligibility": {
          "description": "Does this service have specific eligibility requirements that need to be met in order to use the service?",
          "$ref": "#/definitions/CodeableConcept"
        },
        "eligibilityNote": {
          "description": "Describes the eligibility conditions for the service.",
          "$ref": "#/definitions/string"
        },
        "_eligibilityNote": {
          "description": "Extensions for eligibilityNote",
          "$ref": "#/definitions/Element"
        },
        "programName": {
          "description": "Program Names that can be used to categorize the service.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_programName": {
          "description": "Extensions for programName",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "characteristic": {
          "description": "Collection of characteristics (attributes).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "referralMethod": {
          "description": "Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "appointmentRequired": {
          "description": "Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service.",
          "$ref": "#/definitions/boolean"
        },
        "_appointmentRequired": {
          "description": "Extensions for appointmentRequired",
          "$ref": "#/definitions/Element"
        },
        "availableTime": {
          "description": "A collection of times that the Service Site is available.",
          "items": {
            "$ref": "#/definitions/HealthcareService_AvailableTime"
          },
          "type": "array"
        },
        "notAvailable": {
          "description": "The HealthcareService is not available during this period of time due to the provided reason.",
          "items": {
            "$ref": "#/definitions/HealthcareService_NotAvailable"
          },
          "type": "array"
        },
        "availabilityExceptions": {
          "description": "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.",
          "$ref": "#/definitions/string"
        },
        "_availabilityExceptions": {
          "description": "Extensions for availabilityExceptions",
          "$ref": "#/definitions/Element"
        },
        "endpoint": {
          "description": "Technical endpoints providing access to services operated for the specific healthcare services defined at this resource.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "HealthcareService_AvailableTime": {
      "description": "The details of a healthcare service available at a location.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "daysOfWeek": {
          "description": "Indicates which days of the week are available between the start and end Times.",
          "items": {
            "enum": [
              "mon",
              "tue",
              "wed",
              "thu",
              "fri",
              "sat",
              "sun"
            ]
          },
          "type": "array"
        },
        "_daysOfWeek": {
          "description": "Extensions for daysOfWeek",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "allDay": {
          "description": "Is this always available? (hence times are irrelevant) e.g. 24 hour service.",
          "$ref": "#/definitions/boolean"
        },
        "_allDay": {
          "description": "Extensions for allDay",
          "$ref": "#/definitions/Element"
        },
        "availableStartTime": {
          "description": "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.",
          "$ref": "#/definitions/time"
        },
        "_availableStartTime": {
          "description": "Extensions for availableStartTime",
          "$ref": "#/definitions/Element"
        },
        "availableEndTime": {
          "description": "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.",
          "$ref": "#/definitions/time"
        },
        "_availableEndTime": {
          "description": "Extensions for availableEndTime",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "HealthcareService_NotAvailable": {
      "description": "The details of a healthcare service available at a location.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "The reason that can be presented to the user as to why this time is not available.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "during": {
          "description": "Service is not available (seasonally or for a public holiday) from this date.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "ImagingStudy": {
      "description": "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context.  A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.",
      "properties": {
        "resourceType": {
          "description": "This is a ImagingStudy resource",
          "const": "ImagingStudy"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "uid": {
          "description": "Formal identifier for the study.",
          "$ref": "#/definitions/oid"
        },
        "_uid": {
          "description": "Extensions for uid",
          "$ref": "#/definitions/Element"
        },
        "accession": {
          "description": "Accession Number is an identifier related to some aspect of imaging workflow and data management. Usage may vary across different institutions.  See for instance [IHE Radiology Technical Framework Volume 1 Appendix A](http://www.ihe.net/uploadedFiles/Documents/Radiology/IHE_RAD_TF_Rev13.0_Vol1_FT_2014-07-30.pdf).",
          "$ref": "#/definitions/Identifier"
        },
        "identifier": {
          "description": "Other identifiers for the study.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "availability": {
          "description": "Availability of study (online, offline, or nearline).",
          "enum": [
            "ONLINE",
            "OFFLINE",
            "NEARLINE",
            "UNAVAILABLE"
          ]
        },
        "_availability": {
          "description": "Extensions for availability",
          "$ref": "#/definitions/Element"
        },
        "modalityList": {
          "description": "A list of all the Series.ImageModality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19).",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "subject": {
          "description": "The subject, typically a patient, of the imaging study.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter or episode at which the request is initiated.",
          "$ref": "#/definitions/Reference"
        },
        "started": {
          "description": "Date and time the study started.",
          "$ref": "#/definitions/dateTime"
        },
        "_started": {
          "description": "Extensions for started",
          "$ref": "#/definitions/Element"
        },
        "basedOn": {
          "description": "A list of the diagnostic requests that resulted in this imaging study being performed.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "referrer": {
          "description": "The requesting/referring physician.",
          "$ref": "#/definitions/Reference"
        },
        "interpreter": {
          "description": "Who read the study and interpreted the images or other content.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "endpoint": {
          "description": "The network service providing access (e.g., query, view, or retrieval) for the study. See implementation notes for information about using DICOM endpoints. A study-level endpoint applies to each series in the study, unless overridden by a series-level endpoint with the same Endpoint.type.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "numberOfSeries": {
          "description": "Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_numberOfSeries": {
          "description": "Extensions for numberOfSeries",
          "$ref": "#/definitions/Element"
        },
        "numberOfInstances": {
          "description": "Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_numberOfInstances": {
          "description": "Extensions for numberOfInstances",
          "$ref": "#/definitions/Element"
        },
        "procedureReference": {
          "description": "A reference to the performed Procedure.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "procedureCode": {
          "description": "The code for the performed procedure type.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reason": {
          "description": "Description of clinical condition indicating why the ImagingStudy was requested.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "Institution-generated description or classification of the Study performed.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "series": {
          "description": "Each study has one or more series of images or other content.",
          "items": {
            "$ref": "#/definitions/ImagingStudy_Series"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "ImagingStudy_Series": {
      "description": "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context.  A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "uid": {
          "description": "Formal identifier for this series.",
          "$ref": "#/definitions/oid"
        },
        "_uid": {
          "description": "Extensions for uid",
          "$ref": "#/definitions/Element"
        },
        "number": {
          "description": "The numeric identifier of this series in the study.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_number": {
          "description": "Extensions for number",
          "$ref": "#/definitions/Element"
        },
        "modality": {
          "description": "The modality of this series sequence.",
          "$ref": "#/definitions/Coding"
        },
        "description": {
          "description": "A description of the series.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "numberOfInstances": {
          "description": "Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_numberOfInstances": {
          "description": "Extensions for numberOfInstances",
          "$ref": "#/definitions/Element"
        },
        "availability": {
          "description": "Availability of series (online, offline or nearline).",
          "enum": [
            "ONLINE",
            "OFFLINE",
            "NEARLINE",
            "UNAVAILABLE"
          ]
        },
        "_availability": {
          "description": "Extensions for availability",
          "$ref": "#/definitions/Element"
        },
        "endpoint": {
          "description": "The network service providing access (e.g., query, view, or retrieval) for this series. See implementation notes for information about using DICOM endpoints. A series-level endpoint, if present, has precedence over a study-level endpoint with the same Endpoint.type.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "bodySite": {
          "description": "The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality.",
          "$ref": "#/definitions/Coding"
        },
        "laterality": {
          "description": "The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite.",
          "$ref": "#/definitions/Coding"
        },
        "specimen": {
          "description": "The specimen imaged, e.g., for whole slide imaging of a biopsy.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "started": {
          "description": "The date and time the series was started.",
          "$ref": "#/definitions/dateTime"
        },
        "_started": {
          "description": "Extensions for started",
          "$ref": "#/definitions/Element"
        },
        "performer": {
          "description": "The physician or operator (often the radiology technician) who performed the series.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "instance": {
          "description": "A single SOP instance within the series, e.g. an image, or presentation state.",
          "items": {
            "$ref": "#/definitions/ImagingStudy_Instance"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "modality"
      ]
    },
    "ImagingStudy_Instance": {
      "description": "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context.  A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "uid": {
          "description": "Formal identifier for this image or other content.",
          "$ref": "#/definitions/oid"
        },
        "_uid": {
          "description": "Extensions for uid",
          "$ref": "#/definitions/Element"
        },
        "number": {
          "description": "The number of instance in the series.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_number": {
          "description": "Extensions for number",
          "$ref": "#/definitions/Element"
        },
        "sopClass": {
          "description": "DICOM instance  type.",
          "$ref": "#/definitions/oid"
        },
        "_sopClass": {
          "description": "Extensions for sopClass",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "The description of the instance.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Immunization": {
      "description": "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.",
      "properties": {
        "resourceType": {
          "description": "This is a Immunization resource",
          "const": "Immunization"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A unique identifier assigned to this immunization record.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Indicates the current status of the immunization event.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "vaccineCode": {
          "description": "Vaccine that was administered or was to be administered.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "patient": {
          "description": "The patient who either received or did not receive the immunization.",
          "$ref": "#/definitions/Reference"
        },
        "encounter": {
          "description": "The visit or admission or other contact between patient and health care provider the immunization was performed as part of.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "Date vaccine administered or was to be administered.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "primarySource": {
          "description": "An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded.",
          "$ref": "#/definitions/boolean"
        },
        "_primarySource": {
          "description": "Extensions for primarySource",
          "$ref": "#/definitions/Element"
        },
        "reportOrigin": {
          "description": "The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "location": {
          "description": "The service delivery location where the vaccine administration occurred.",
          "$ref": "#/definitions/Reference"
        },
        "manufacturer": {
          "description": "Name of vaccine manufacturer.",
          "$ref": "#/definitions/Reference"
        },
        "lotNumber": {
          "description": "Lot number of the  vaccine product.",
          "$ref": "#/definitions/string"
        },
        "_lotNumber": {
          "description": "Extensions for lotNumber",
          "$ref": "#/definitions/Element"
        },
        "expirationDate": {
          "description": "Date vaccine batch expires.",
          "$ref": "#/definitions/date"
        },
        "_expirationDate": {
          "description": "Extensions for expirationDate",
          "$ref": "#/definitions/Element"
        },
        "site": {
          "description": "Body site where vaccine was administered.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "route": {
          "description": "The path by which the vaccine product is taken into the body.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "doseQuantity": {
          "description": "The quantity of vaccine product that was administered.",
          "$ref": "#/definitions/Quantity"
        },
        "practitioner": {
          "description": "Indicates who performed the immunization event.",
          "items": {
            "$ref": "#/definitions/Immunization_Practitioner"
          },
          "type": "array"
        },
        "note": {
          "description": "Extra information about the immunization that is not conveyed by the other attributes.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "reason": {
          "description": "Reasons why a vaccine was or was not administered.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "education": {
          "description": "Educational material presented to the patient (or guardian) at the time of vaccine administration.",
          "items": {
            "$ref": "#/definitions/Immunization_Education"
          },
          "type": "array"
        },
        "programEligibility": {
          "description": "Indicates a patient\u0027s eligibility for a funding program.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "fundingSource": {
          "description": "Indicates the source of the vaccine actually administered. This may be different than the patient eligbility (e.g. the patient may be eligibile for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered).",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "patient",
        "vaccineCode",
        "resourceType"
      ]
    },
    "Immunization_Practitioner": {
      "description": "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "role": {
          "description": "Describes the type of performance (e.g. ordering provider, administering provider, etc.).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "actor": {
          "description": "The practitioner who performed the action.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "actor"
      ]
    },
    "Immunization_Education": {
      "description": "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "documentType": {
          "description": "Identifier of the material presented ot the patient.",
          "$ref": "#/definitions/string"
        },
        "_documentType": {
          "description": "Extensions for documentType",
          "$ref": "#/definitions/Element"
        },
        "reference": {
          "description": "Reference pointer to the educational material given to the patient if the information was on line.",
          "$ref": "#/definitions/uri"
        },
        "_reference": {
          "description": "Extensions for reference",
          "$ref": "#/definitions/Element"
        },
        "publicationDate": {
          "description": "Date the educational material was published.",
          "$ref": "#/definitions/dateTime"
        },
        "_publicationDate": {
          "description": "Extensions for publicationDate",
          "$ref": "#/definitions/Element"
        },
        "presentationDate": {
          "description": "Date the educational material was given to the patient.",
          "$ref": "#/definitions/dateTime"
        },
        "_presentationDate": {
          "description": "Extensions for presentationDate",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ImmunizationEvaluation": {
      "description": "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those  recommendations.",
      "properties": {
        "resourceType": {
          "description": "This is a ImmunizationEvaluation resource",
          "const": "ImmunizationEvaluation"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A unique identifier assigned to this immunization evaluation record.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Indicates the current status of the evaluation of the vaccination administration event.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "The individual for whom the evaluation is being done.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The date the evaluation of the vaccine administration event was performed.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "authority": {
          "description": "Indicates the authority who published the protocol (e.g. ACIP).",
          "$ref": "#/definitions/Reference"
        },
        "targetDisease": {
          "description": "The vaccine preventable disease the dose is being evaluated against.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "immunizationEvent": {
          "description": "The vaccine administration event being evaluated.",
          "$ref": "#/definitions/Reference"
        },
        "doseStatus": {
          "description": "Indicates if the dose is valid or not valid with respect to the published recommendations.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "doseStatusReason": {
          "description": "Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "description": {
          "description": "Additional information about the evaluation.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "series": {
          "description": "One possible path to achieve presumed immunity against a disease - within the context of an authority.",
          "$ref": "#/definitions/string"
        },
        "_series": {
          "description": "Extensions for series",
          "$ref": "#/definitions/Element"
        },
        "doseNumber": {
          "description": "Nominal position in a series.",
          "$ref": "#/definitions/positiveInt"
        },
        "_doseNumber": {
          "description": "Extensions for doseNumber",
          "$ref": "#/definitions/Element"
        },
        "seriesDoses": {
          "description": "The recommended number of doses to achieve immunity.",
          "$ref": "#/definitions/positiveInt"
        },
        "_seriesDoses": {
          "description": "Extensions for seriesDoses",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "doseStatus",
        "patient",
        "targetDisease",
        "immunizationEvent",
        "resourceType"
      ]
    },
    "ImmunizationRecommendation": {
      "description": "A patient\u0027s point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.",
      "properties": {
        "resourceType": {
          "description": "This is a ImmunizationRecommendation resource",
          "const": "ImmunizationRecommendation"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A unique identifier assigned to this particular recommendation record.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "patient": {
          "description": "The patient the recommendation(s) are for.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The date the immunization recommendation(s) were created.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "authority": {
          "description": "Indicates the authority who published the protocol (e.g. ACIP).",
          "$ref": "#/definitions/Reference"
        },
        "recommendation": {
          "description": "Vaccine administration recommendations.",
          "items": {
            "$ref": "#/definitions/ImmunizationRecommendation_Recommendation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "patient",
        "recommendation",
        "resourceType"
      ]
    },
    "ImmunizationRecommendation_Recommendation": {
      "description": "A patient\u0027s point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "vaccineCode": {
          "description": "Vaccine(s) or vaccine group that pertain to the recommendation.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "targetDisease": {
          "description": "The targeted disease for the recommendation.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "contraindicatedVaccineCode": {
          "description": "Vaccine(s) which should not be used to fulfill the recommendation.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "forecastStatus": {
          "description": "Indicates the patient status with respect to the path to immunity for the target disease.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "forecastReason": {
          "description": "The reason for the assigned forecast status.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "dateCriterion": {
          "description": "Vaccine date recommendations.  For example, earliest date to administer, latest date to administer, etc.",
          "items": {
            "$ref": "#/definitions/ImmunizationRecommendation_DateCriterion"
          },
          "type": "array"
        },
        "description": {
          "description": "Contains the description about the protocol under which the vaccine was administered.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "series": {
          "description": "One possible path to achieve presumed immunity against a disease - within the context of an authority.",
          "$ref": "#/definitions/string"
        },
        "_series": {
          "description": "Extensions for series",
          "$ref": "#/definitions/Element"
        },
        "doseNumber": {
          "description": "Nominal position of the recommended dose in a series (e.g. dose 2 is the next recommended dose).",
          "$ref": "#/definitions/positiveInt"
        },
        "_doseNumber": {
          "description": "Extensions for doseNumber",
          "$ref": "#/definitions/Element"
        },
        "seriesDoses": {
          "description": "The recommended number of doses to achieve immunity.",
          "$ref": "#/definitions/positiveInt"
        },
        "_seriesDoses": {
          "description": "Extensions for seriesDoses",
          "$ref": "#/definitions/Element"
        },
        "supportingImmunization": {
          "description": "Immunization event history and/or evaluation that supports the status and recommendation.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "supportingPatientInformation": {
          "description": "Patient Information that supports the status and recommendation.  This includes patient observations, adverse reactions and allergy/intolerance information.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "forecastStatus"
      ]
    },
    "ImmunizationRecommendation_DateCriterion": {
      "description": "A patient\u0027s point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Date classification of recommendation.  For example, earliest date to give, latest date to give, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "value": {
          "description": "The date whose meaning is specified by dateCriterion.code.",
          "$ref": "#/definitions/dateTime"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "ImplementationGuide": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "resourceType": {
          "description": "This is a ImplementationGuide resource",
          "const": "ImplementationGuide"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this implementation guide is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this implementation guide. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the implementation guide was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the implementation guide.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the implementation guide from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate implementation guide instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the implementation guide is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "fhirVersion": {
          "description": "The version of the FHIR specification on which this ImplementationGuide is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 3.2.0 for this version.",
          "$ref": "#/definitions/id"
        },
        "_fhirVersion": {
          "description": "Extensions for fhirVersion",
          "$ref": "#/definitions/Element"
        },
        "dependency": {
          "description": "Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.",
          "items": {
            "$ref": "#/definitions/ImplementationGuide_Dependency"
          },
          "type": "array"
        },
        "package": {
          "description": "A logical group of resources. Logical groups can be used when building pages.",
          "items": {
            "$ref": "#/definitions/ImplementationGuide_Package"
          },
          "type": "array"
        },
        "global": {
          "description": "A set of profiles that all resources covered by this implementation guide must conform to.",
          "items": {
            "$ref": "#/definitions/ImplementationGuide_Global"
          },
          "type": "array"
        },
        "binary": {
          "description": "A binary file that is included in the  implementation guide when it is published.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_binary": {
          "description": "Extensions for binary",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "page": {
          "description": "A page / section in the implementation guide. The root page is the implementation guide home page.",
          "$ref": "#/definitions/ImplementationGuide_Page"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ImplementationGuide_Dependency": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "How the dependency is represented when the guide is published.",
          "enum": [
            "reference",
            "inclusion"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "uri": {
          "description": "Where the dependency is located.",
          "$ref": "#/definitions/uri"
        },
        "_uri": {
          "description": "Extensions for uri",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ImplementationGuide_Package": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name for the group, as used in page.package.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Human readable text describing the package.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "resource": {
          "description": "A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.",
          "items": {
            "$ref": "#/definitions/ImplementationGuide_Resource"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resource"
      ]
    },
    "ImplementationGuide_Resource": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "example": {
          "description": "Whether a resource is included in the guide as part of the rules defined by the guide, or just as an example of a resource that conforms to the rules and/or help implementers understand the intent of the guide.",
          "$ref": "#/definitions/boolean"
        },
        "_example": {
          "description": "Extensions for example",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A description of the reason that a resource has been included in the implementation guide.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "acronym": {
          "description": "A short code that may be used to identify the resource throughout the implementation guide.",
          "$ref": "#/definitions/string"
        },
        "_acronym": {
          "description": "Extensions for acronym",
          "$ref": "#/definitions/Element"
        },
        "sourceUri": {
          "description": "Where this resource is found.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_sourceUri": {
          "description": "Extensions for sourceUri",
          "$ref": "#/definitions/Element"
        },
        "sourceReference": {
          "description": "Where this resource is found.",
          "$ref": "#/definitions/Reference"
        },
        "exampleFor": {
          "description": "Another resource that this resource is an example for. This is mostly used for resources that are included as examples of StructureDefinitions.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "ImplementationGuide_Global": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of resource that all instances must conform to.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "A reference to the profile that all instances must conform to.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "profile"
      ]
    },
    "ImplementationGuide_Page": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "source": {
          "description": "The source address for the page.",
          "$ref": "#/definitions/uri"
        },
        "_source": {
          "description": "Extensions for source",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "kind": {
          "description": "The kind of page that this is. Some pages are autogenerated (list, example), and other kinds are of interest so that tools can navigate the user to the page of interest.",
          "enum": [
            "page",
            "example",
            "list",
            "include",
            "directory",
            "dictionary",
            "toc",
            "resource"
          ]
        },
        "_kind": {
          "description": "Extensions for kind",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "For constructed pages, what kind of resources to include in the list.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_type": {
          "description": "Extensions for type",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "package": {
          "description": "For constructed pages, a list of packages to include in the page (or else empty for everything).",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_package": {
          "description": "Extensions for package",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "format": {
          "description": "The format of the page.",
          "$ref": "#/definitions/code"
        },
        "_format": {
          "description": "Extensions for format",
          "$ref": "#/definitions/Element"
        },
        "page": {
          "description": "Nested Pages/Sections under this page.",
          "items": {
            "$ref": "#/definitions/ImplementationGuide_Page"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ImplementationGuideInput": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "resourceType": {
          "description": "This is a ImplementationGuideInput resource",
          "const": "ImplementationGuideInput"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this implementation guide input when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this implementation guide input is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the implementation guide input when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide input author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the implementation guide input. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this implementation guide input. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this implementation guide input is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the implementation guide input was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide input changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the implementation guide input.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the implementation guide input from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate implementation guide input instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the implementation guide input is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the implementation guide input and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide input.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "fhirVersion": {
          "description": "The version of the FHIR specification on which this ImplementationGuide is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 3.2.0 for this version.",
          "$ref": "#/definitions/id"
        },
        "_fhirVersion": {
          "description": "Extensions for fhirVersion",
          "$ref": "#/definitions/Element"
        },
        "dependsOn": {
          "description": "Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideInput_DependsOn"
          },
          "type": "array"
        },
        "global": {
          "description": "A set of profiles that all resources covered by this implementation guide must conform to.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideInput_Global"
          },
          "type": "array"
        },
        "definition": {
          "description": "Information used when generating the IG.",
          "$ref": "#/definitions/ImplementationGuideInput_Definition"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ImplementationGuideInput_DependsOn": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "definition": {
          "description": "The canonical reference of the definition of the IG that is depended on.",
          "$ref": "#/definitions/Reference"
        },
        "version": {
          "description": "Version of IG.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "definition"
      ]
    },
    "ImplementationGuideInput_Global": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of resource that all instances must conform to.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "A reference to the profile that all instances must conform to.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "profile"
      ]
    },
    "ImplementationGuideInput_Definition": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "package": {
          "description": "A logical group of resources. Logical groups can be used when building pages.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideInput_Package"
          },
          "type": "array"
        },
        "resource": {
          "description": "A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideInput_Resource"
          },
          "type": "array"
        },
        "page": {
          "description": "A page / section in the implementation guide. The root page is the implementation guide home page.",
          "$ref": "#/definitions/ImplementationGuideInput_Page"
        },
        "parameter": {
          "description": "Defines how IG is built by tools.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideInput_Parameter"
          },
          "type": "array"
        },
        "template": {
          "description": "A template for building resources.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideInput_Template"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resource"
      ]
    },
    "ImplementationGuideInput_Package": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name for the group, as used in page.package.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Human readable text describing the package.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ImplementationGuideInput_Resource": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "reference": {
          "description": "Where this resource is found.",
          "$ref": "#/definitions/Reference"
        },
        "name": {
          "description": "A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A description of the reason that a resource has been included in the implementation guide.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "exampleBoolean": {
          "description": "If true or a reference, indicates the resource is an example instance.  If a reference is present, indicates that the example is an example of the specified profile.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_exampleBoolean": {
          "description": "Extensions for exampleBoolean",
          "$ref": "#/definitions/Element"
        },
        "exampleReference": {
          "description": "If true or a reference, indicates the resource is an example instance.  If a reference is present, indicates that the example is an example of the specified profile.",
          "$ref": "#/definitions/Reference"
        },
        "package": {
          "description": "Reference to the id of the pack this resource appears in.",
          "$ref": "#/definitions/id"
        },
        "_package": {
          "description": "Extensions for package",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "reference"
      ]
    },
    "ImplementationGuideInput_Page": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "nameUri": {
          "description": "The source address for the page.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_nameUri": {
          "description": "Extensions for nameUri",
          "$ref": "#/definitions/Element"
        },
        "nameReference": {
          "description": "The source address for the page.",
          "$ref": "#/definitions/Reference"
        },
        "title": {
          "description": "A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "page": {
          "description": "Nested Pages/Sections under this page.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideInput_Page"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ImplementationGuideInput_Parameter": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "apply-business-version | apply-jurisdiction | path-resource | path-pages | path-tx-cache | expansion-profile | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template.",
          "enum": [
            "apply-business-version",
            "apply-jurisdiction",
            "path-resource",
            "path-pages",
            "path-tx-cache",
            "expansion-profile",
            "rule-broken-links",
            "generate-xml",
            "generate-json",
            "generate-turtle",
            "html-template"
          ]
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "Value for named type.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ImplementationGuideInput_Template": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Type of template specified.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "source": {
          "description": "The source of the template.",
          "$ref": "#/definitions/string"
        },
        "_source": {
          "description": "Extensions for source",
          "$ref": "#/definitions/Element"
        },
        "scope": {
          "description": "The scope in which the template applies.",
          "$ref": "#/definitions/string"
        },
        "_scope": {
          "description": "Extensions for scope",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ImplementationGuideOutput": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "resourceType": {
          "description": "This is a ImplementationGuideOutput resource",
          "const": "ImplementationGuideOutput"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this implementation guide output when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this implementation guide output is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the implementation guide output when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide output author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the implementation guide output. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this implementation guide output. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this implementation guide output is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the implementation guide output was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide output changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the implementation guide output.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the implementation guide output from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate implementation guide output instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the implementation guide output is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the implementation guide output and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide output.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "fhirVersion": {
          "description": "The version of the FHIR specification on which this ImplementationGuide is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 3.2.0 for this version.",
          "$ref": "#/definitions/id"
        },
        "_fhirVersion": {
          "description": "Extensions for fhirVersion",
          "$ref": "#/definitions/Element"
        },
        "dependsOn": {
          "description": "Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "resource": {
          "description": "A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideOutput_Resource"
          },
          "type": "array"
        },
        "global": {
          "description": "A set of profiles that all resources covered by this implementation guide must conform to.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideOutput_Global"
          },
          "type": "array"
        },
        "rendering": {
          "description": "A pointer to official web page, PDF or other rendering of the implementation guide.",
          "$ref": "#/definitions/uri"
        },
        "_rendering": {
          "description": "Extensions for rendering",
          "$ref": "#/definitions/Element"
        },
        "page": {
          "description": "Information about a page within the IG.",
          "items": {
            "$ref": "#/definitions/ImplementationGuideOutput_Page"
          },
          "type": "array"
        },
        "image": {
          "description": "Indicates a relative path to an image that exists within the IG.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_image": {
          "description": "Extensions for image",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "other": {
          "description": "Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_other": {
          "description": "Extensions for other",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resource",
        "resourceType"
      ]
    },
    "ImplementationGuideOutput_Resource": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "reference": {
          "description": "Where this resource is found.",
          "$ref": "#/definitions/Reference"
        },
        "exampleBoolean": {
          "description": "If true or a reference, indicates the resource is an example instance.  If a reference is present, indicates that the example is an example of the specified profile.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_exampleBoolean": {
          "description": "Extensions for exampleBoolean",
          "$ref": "#/definitions/Element"
        },
        "exampleReference": {
          "description": "If true or a reference, indicates the resource is an example instance.  If a reference is present, indicates that the example is an example of the specified profile.",
          "$ref": "#/definitions/Reference"
        },
        "relativePath": {
          "description": "The relative path for primary page for this resource within the IG.",
          "$ref": "#/definitions/string"
        },
        "_relativePath": {
          "description": "Extensions for relativePath",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "reference"
      ]
    },
    "ImplementationGuideOutput_Global": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of resource that all instances must conform to.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "A reference to the profile that all instances must conform to.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "profile"
      ]
    },
    "ImplementationGuideOutput_Page": {
      "description": "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Relative path to the page.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "Label for the page intended for human display.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "anchor": {
          "description": "The name of an anchor available on the page.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_anchor": {
          "description": "Extensions for anchor",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Invoice": {
      "description": "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.",
      "properties": {
        "resourceType": {
          "description": "This is a Invoice resource",
          "const": "Invoice"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier of this Invoice, often used for reference in corresponcence about this invoice or for tracking of payments.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The current state of the Invoice.",
          "enum": [
            "draft",
            "issued",
            "balanced",
            "cancelled",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "cancelledReason": {
          "description": "In case of Invoice cancellation a reason must be given (entered in error, superseded by corrected invoice etc).",
          "$ref": "#/definitions/string"
        },
        "_cancelledReason": {
          "description": "Extensions for cancelledReason",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Type of Invoice depending on domain, realm an usage (eg. internal/external, dental, preliminary).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The individual or set of individuals receiving the goods and services billed in this invoice.",
          "$ref": "#/definitions/Reference"
        },
        "recipient": {
          "description": "The individual or Organization responsible for balancing of this invoice.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "Date/time(s) of when this Invoice was posted.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "participant": {
          "description": "Indicates who or what performed or participated in the charged service.",
          "items": {
            "$ref": "#/definitions/Invoice_Participant"
          },
          "type": "array"
        },
        "issuer": {
          "description": "The organizationissuing the Invoice.",
          "$ref": "#/definitions/Reference"
        },
        "account": {
          "description": "Account which is supposed to be balanced with this Invoice.",
          "$ref": "#/definitions/Reference"
        },
        "lineItem": {
          "description": "Each line item represents one charge for goods ond services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource.",
          "items": {
            "$ref": "#/definitions/Invoice_LineItem"
          },
          "type": "array"
        },
        "totalPriceComponent": {
          "description": "The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions.  The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated.",
          "items": {
            "$ref": "#/definitions/Invoice_PriceComponent"
          },
          "type": "array"
        },
        "totalNet": {
          "description": "Invoice total , taxes excluded.",
          "$ref": "#/definitions/Money"
        },
        "totalGross": {
          "description": "Invoice total, tax included.",
          "$ref": "#/definitions/Money"
        },
        "paymentTerms": {
          "description": "Payment details such as banking details, period of payment, deductables, methods of payment.",
          "$ref": "#/definitions/markdown"
        },
        "_paymentTerms": {
          "description": "Extensions for paymentTerms",
          "$ref": "#/definitions/Element"
        },
        "note": {
          "description": "Comments made about the invoice by the issuer, subject or other participants.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Invoice_Participant": {
      "description": "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "role": {
          "description": "Describes the type of involvement (e.g. transcriptionist, creator etc.). If the invoice has been created automatically, the Participant may be a billing engine or another kind of device.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "actor": {
          "description": "The device, practitioner, etc. who performed or participated in the service.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "actor"
      ]
    },
    "Invoice_LineItem": {
      "description": "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequence": {
          "description": "Sequence in which the items appear on the invoice.",
          "$ref": "#/definitions/positiveInt"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "#/definitions/Element"
        },
        "chargeItem": {
          "description": "The ChargeItem contains information such as the billing code, date, amount etc.",
          "$ref": "#/definitions/Reference"
        },
        "priceComponent": {
          "description": "The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under developement. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated.",
          "items": {
            "$ref": "#/definitions/Invoice_PriceComponent"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "chargeItem"
      ]
    },
    "Invoice_PriceComponent": {
      "description": "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "This code identifies the type of the component.",
          "enum": [
            "base",
            "surcharge",
            "deduction",
            "discount",
            "tax",
            "informational"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "factor": {
          "description": "The amount calculated for this component.",
          "$ref": "#/definitions/Money"
        },
        "amount": {
          "description": "The factor that has been applied on the base price for calculating this component.",
          "$ref": "#/definitions/decimal"
        },
        "_amount": {
          "description": "Extensions for amount",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ItemInstance": {
      "description": "A physical, countable instance of an item, for example one box or one unit.",
      "properties": {
        "resourceType": {
          "description": "This is a ItemInstance resource",
          "const": "ItemInstance"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "count": {
          "description": "The quantity or amount of instances. For example if several units are being counted for inventory, this quantity can be more than one, provided they are not unique. Seriallized items are considered unique and as such would have a quantity max 1. This element is required and its presence asserts that the reource refers to a physical item.",
          "$ref": "#/definitions/integer"
        },
        "_count": {
          "description": "Extensions for count",
          "$ref": "#/definitions/Element"
        },
        "location": {
          "description": "The location where the item is phisically located.",
          "$ref": "#/definitions/Reference"
        },
        "subject": {
          "description": "The patient that the item is associated with (implanted in, given to).",
          "$ref": "#/definitions/Reference"
        },
        "manufactureDate": {
          "description": "The manufacture or preparation date and time. Times are necessary for several examples - for example biologically derived products, prepared or coumpounded medication, rapidly decaying isotopes.",
          "$ref": "#/definitions/dateTime"
        },
        "_manufactureDate": {
          "description": "Extensions for manufactureDate",
          "$ref": "#/definitions/Element"
        },
        "expiryDate": {
          "description": "The expiry or preparation date and time.",
          "$ref": "#/definitions/dateTime"
        },
        "_expiryDate": {
          "description": "Extensions for expiryDate",
          "$ref": "#/definitions/Element"
        },
        "currentSWVersion": {
          "description": "The Software version associated with the device, typically only used for devices with embedded software or firmware.",
          "$ref": "#/definitions/string"
        },
        "_currentSWVersion": {
          "description": "Extensions for currentSWVersion",
          "$ref": "#/definitions/Element"
        },
        "lotNumber": {
          "description": "The lot or batch number.",
          "$ref": "#/definitions/string"
        },
        "_lotNumber": {
          "description": "Extensions for lotNumber",
          "$ref": "#/definitions/Element"
        },
        "serialNumber": {
          "description": "The serial number if available.",
          "$ref": "#/definitions/string"
        },
        "_serialNumber": {
          "description": "Extensions for serialNumber",
          "$ref": "#/definitions/Element"
        },
        "carrierAIDC": {
          "description": "The machine-readable AIDC string in base64 encoding. Can correspond to the UDI pattern in devices.",
          "$ref": "#/definitions/string"
        },
        "_carrierAIDC": {
          "description": "Extensions for carrierAIDC",
          "$ref": "#/definitions/Element"
        },
        "carrierHRF": {
          "description": "The human-readable barcode string. Can correspond to the UDI pattern in devices.",
          "$ref": "#/definitions/string"
        },
        "_carrierHRF": {
          "description": "Extensions for carrierHRF",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Library": {
      "description": "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets.",
      "properties": {
        "resourceType": {
          "description": "This is a Library resource",
          "const": "Library"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this library is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this library when it is represented in other formats, or referenced in a specification, model, design or an instance. e.g. CMS or NQF identifiers for a measure artifact. Note that at least one identifier is required for non-experimental active artifacts.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the library when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the library author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the library. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the library.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this library. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this library is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "date": {
          "description": "The date  (and optionally time) when the library was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the library changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the library.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A free text natural language description of the library from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "Explaination of why this library is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "usage": {
          "description": "A detailed description of how the library is used from a clinical perspective.",
          "$ref": "#/definitions/string"
        },
        "_usage": {
          "description": "Extensions for usage",
          "$ref": "#/definitions/Element"
        },
        "approvalDate": {
          "description": "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.",
          "$ref": "#/definitions/date"
        },
        "_approvalDate": {
          "description": "Extensions for approvalDate",
          "$ref": "#/definitions/Element"
        },
        "lastReviewDate": {
          "description": "The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn\u0027t change the original approval date.",
          "$ref": "#/definitions/date"
        },
        "_lastReviewDate": {
          "description": "Extensions for lastReviewDate",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The period during which the library content was or is planned to be in active use.",
          "$ref": "#/definitions/Period"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate library instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the library is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "topic": {
          "description": "Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searching.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "contributor": {
          "description": "A contributor to the content of the library, including authors, editors, reviewers, and endorsers.",
          "items": {
            "$ref": "#/definitions/Contributor"
          },
          "type": "array"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the library and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the library.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "relatedArtifact": {
          "description": "Related artifacts such as additional documentation, justification, or bibliographic references.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "parameter": {
          "description": "The parameter element defines parameters used by the library.",
          "items": {
            "$ref": "#/definitions/ParameterDefinition"
          },
          "type": "array"
        },
        "dataRequirement": {
          "description": "Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the library.",
          "items": {
            "$ref": "#/definitions/DataRequirement"
          },
          "type": "array"
        },
        "content": {
          "description": "The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base-64 string. Either way, the contentType of the attachment determines how to interpret the content.",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "type",
        "resourceType"
      ]
    },
    "Linkage": {
      "description": "Identifies two or more records (resource instances) that are referring to the same real-world \"occurrence\".",
      "properties": {
        "resourceType": {
          "description": "This is a Linkage resource",
          "const": "Linkage"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "active": {
          "description": "Indicates whether the asserted set of linkages are considered to be \"in effect\".",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "author": {
          "description": "Identifies the user or organization responsible for asserting the linkages and who establishes the context for evaluating the nature of each linkage.",
          "$ref": "#/definitions/Reference"
        },
        "item": {
          "description": "Identifies one of the records that is considered to refer to the same real-world occurrence as well as how the items hould be evaluated within the collection of linked items.",
          "items": {
            "$ref": "#/definitions/Linkage_Item"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "item",
        "resourceType"
      ]
    },
    "Linkage_Item": {
      "description": "Identifies two or more records (resource instances) that are referring to the same real-world \"occurrence\".",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Distinguishes which item is \"source of truth\" (if any) and which items are no longer considered to be current representations.",
          "enum": [
            "source",
            "alternate",
            "historical"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "resource": {
          "description": "The resource instance being linked as part of the group.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "resource"
      ]
    },
    "List": {
      "description": "A set of information summarized from a list of other resources.",
      "properties": {
        "resourceType": {
          "description": "This is a List resource",
          "const": "List"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier for the List assigned for business purposes outside the context of FHIR.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Indicates the current state of this list.",
          "enum": [
            "current",
            "retired",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "mode": {
          "description": "How this list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.",
          "enum": [
            "working",
            "snapshot",
            "changes"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A label for the list assigned by the author.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "This code defines the purpose of the list - why it was created.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The common subject (or patient) of the resources that are in the list, if there is one.",
          "$ref": "#/definitions/Reference"
        },
        "encounter": {
          "description": "The encounter that is the context in which this list was created.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The date that the list was prepared.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "source": {
          "description": "The entity responsible for deciding what the contents of the list were. Where the list was created by a human, this is the same as the author of the list.",
          "$ref": "#/definitions/Reference"
        },
        "orderedBy": {
          "description": "What order applies to the items in the list.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "note": {
          "description": "Comments that apply to the overall list.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "entry": {
          "description": "Entries in this list.",
          "items": {
            "$ref": "#/definitions/List_Entry"
          },
          "type": "array"
        },
        "emptyReason": {
          "description": "If the list is empty, why the list is empty.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "List_Entry": {
      "description": "A set of information summarized from a list of other resources.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "flag": {
          "description": "The flag allows the system constructing the list to indicate the role and significance of the item in the list.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "deleted": {
          "description": "True if this item is marked as deleted in the list.",
          "$ref": "#/definitions/boolean"
        },
        "_deleted": {
          "description": "Extensions for deleted",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "When this item was added to the list.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "item": {
          "description": "A reference to the actual resource from which data was derived.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "item"
      ]
    },
    "Location": {
      "description": "Details and position information for a physical place where services are provided  and resources and participants may be stored, found, contained or accommodated.",
      "properties": {
        "resourceType": {
          "description": "This is a Location resource",
          "const": "Location"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique code or number identifying the location to its users.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location.",
          "enum": [
            "active",
            "suspended",
            "inactive"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "operationalStatus": {
          "description": "The Operational status covers operation values most relevant to beds (but can also apply to rooms/units/chair/etc such as an isolation unit/dialisys chair). This typically covers concepts such as contamination, housekeeping and other activities like maintenance.",
          "$ref": "#/definitions/Coding"
        },
        "name": {
          "description": "Name of the location as used by humans. Does not need to be unique.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "alias": {
          "description": "A list of alternate names that the location is known as, or was known as in the past.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_alias": {
          "description": "Extensions for alias",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "description": {
          "description": "Description of the Location, which helps in finding or referencing the place.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "mode": {
          "description": "Indicates whether a resource instance represents a specific location or a class of locations.",
          "enum": [
            "instance",
            "kind"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Indicates the type of function performed at the location.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "telecom": {
          "description": "The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "address": {
          "description": "Physical location.",
          "$ref": "#/definitions/Address"
        },
        "physicalType": {
          "description": "Physical form of the location, e.g. building, room, vehicle, road.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "position": {
          "description": "The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).",
          "$ref": "#/definitions/Location_Position"
        },
        "managingOrganization": {
          "description": "The organization responsible for the provisioning and upkeep of the location.",
          "$ref": "#/definitions/Reference"
        },
        "partOf": {
          "description": "Another Location which this Location is physically part of.",
          "$ref": "#/definitions/Reference"
        },
        "hoursOfOperation": {
          "description": "What days/times during a week is this location usually open.",
          "items": {
            "$ref": "#/definitions/Location_HoursOfOperation"
          },
          "type": "array"
        },
        "availabilityExceptions": {
          "description": "A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times.",
          "$ref": "#/definitions/string"
        },
        "_availabilityExceptions": {
          "description": "Extensions for availabilityExceptions",
          "$ref": "#/definitions/Element"
        },
        "endpoint": {
          "description": "Technical endpoints providing access to services operated for the location.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Location_Position": {
      "description": "Details and position information for a physical place where services are provided  and resources and participants may be stored, found, contained or accommodated.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "longitude": {
          "description": "Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).",
          "$ref": "#/definitions/decimal"
        },
        "_longitude": {
          "description": "Extensions for longitude",
          "$ref": "#/definitions/Element"
        },
        "latitude": {
          "description": "Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).",
          "$ref": "#/definitions/decimal"
        },
        "_latitude": {
          "description": "Extensions for latitude",
          "$ref": "#/definitions/Element"
        },
        "altitude": {
          "description": "Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below).",
          "$ref": "#/definitions/decimal"
        },
        "_altitude": {
          "description": "Extensions for altitude",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Location_HoursOfOperation": {
      "description": "Details and position information for a physical place where services are provided  and resources and participants may be stored, found, contained or accommodated.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "daysOfWeek": {
          "description": "Indicates which days of the week are available between the start and end Times.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_daysOfWeek": {
          "description": "Extensions for daysOfWeek",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "allDay": {
          "description": "The Location is open all day.",
          "$ref": "#/definitions/boolean"
        },
        "_allDay": {
          "description": "Extensions for allDay",
          "$ref": "#/definitions/Element"
        },
        "openingTime": {
          "description": "Time that the Location opens.",
          "$ref": "#/definitions/time"
        },
        "_openingTime": {
          "description": "Extensions for openingTime",
          "$ref": "#/definitions/Element"
        },
        "closingTime": {
          "description": "Time that the Location closes.",
          "$ref": "#/definitions/time"
        },
        "_closingTime": {
          "description": "Extensions for closingTime",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Measure": {
      "description": "The Measure resource provides the definition of a quality measure.",
      "properties": {
        "resourceType": {
          "description": "This is a Measure resource",
          "const": "Measure"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this measure is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this measure when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the measure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the measure author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the measure. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the measure.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this measure. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this measure is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the measure was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the measure changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the measure.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A free text natural language description of the measure from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "Explaination of why this measure is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "usage": {
          "description": "A detailed description of how the measure is used from a clinical perspective.",
          "$ref": "#/definitions/string"
        },
        "_usage": {
          "description": "Extensions for usage",
          "$ref": "#/definitions/Element"
        },
        "approvalDate": {
          "description": "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.",
          "$ref": "#/definitions/date"
        },
        "_approvalDate": {
          "description": "Extensions for approvalDate",
          "$ref": "#/definitions/Element"
        },
        "lastReviewDate": {
          "description": "The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn\u0027t change the original approval date.",
          "$ref": "#/definitions/date"
        },
        "_lastReviewDate": {
          "description": "Extensions for lastReviewDate",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The period during which the measure content was or is planned to be in active use.",
          "$ref": "#/definitions/Period"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate measure instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the measure is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "subject": {
          "description": "The intended subjects for the measure. If this element is not provided, a Patient subject is assumed, but the subject of the measure can be anything.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "topic": {
          "description": "Descriptive topics related to the content of the measure. Topics provide a high-level categorization of the type of the measure that can be useful for filtering and searching.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "contributor": {
          "description": "A contributor to the content of the measure, including authors, editors, reviewers, and endorsers.",
          "items": {
            "$ref": "#/definitions/Contributor"
          },
          "type": "array"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "relatedArtifact": {
          "description": "Related artifacts such as additional documentation, justification, or bibliographic references.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "library": {
          "description": "A reference to a Library resource containing the formal logic used by the measure.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "disclaimer": {
          "description": "Notices and disclaimers regarding the use of the measure, or related to intellectual property (such as code systems) referenced by the measure.",
          "$ref": "#/definitions/markdown"
        },
        "_disclaimer": {
          "description": "Extensions for disclaimer",
          "$ref": "#/definitions/Element"
        },
        "scoring": {
          "description": "Indicates how the calculation is performed for the measure, including proportion, ratio, continuous variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "compositeScoring": {
          "description": "If this is a composite measure, the scoring method used to combine the component measures to determine the composite score.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "type": {
          "description": "Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "riskAdjustment": {
          "description": "A description of the risk adjustment factors that may impact the resulting score for the measure and how they may be accounted for when computing and reporting measure results.",
          "$ref": "#/definitions/string"
        },
        "_riskAdjustment": {
          "description": "Extensions for riskAdjustment",
          "$ref": "#/definitions/Element"
        },
        "rateAggregation": {
          "description": "Describes how to combine the information calculated, based on logic in each of several populations, into one summarized result.",
          "$ref": "#/definitions/string"
        },
        "_rateAggregation": {
          "description": "Extensions for rateAggregation",
          "$ref": "#/definitions/Element"
        },
        "rationale": {
          "description": "Provides a succint statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence.",
          "$ref": "#/definitions/markdown"
        },
        "_rationale": {
          "description": "Extensions for rationale",
          "$ref": "#/definitions/Element"
        },
        "clinicalRecommendationStatement": {
          "description": "Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure.",
          "$ref": "#/definitions/markdown"
        },
        "_clinicalRecommendationStatement": {
          "description": "Extensions for clinicalRecommendationStatement",
          "$ref": "#/definitions/Element"
        },
        "improvementNotation": {
          "description": "Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is whthin a range).",
          "$ref": "#/definitions/string"
        },
        "_improvementNotation": {
          "description": "Extensions for improvementNotation",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "Provides a description of an individual term used within the measure.",
          "items": {
            "$ref": "#/definitions/markdown"
          },
          "type": "array"
        },
        "_definition": {
          "description": "Extensions for definition",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "guidance": {
          "description": "Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure.",
          "$ref": "#/definitions/markdown"
        },
        "_guidance": {
          "description": "Extensions for guidance",
          "$ref": "#/definitions/Element"
        },
        "set": {
          "description": "The measure set, e.g. Preventive Care and Screening.",
          "$ref": "#/definitions/string"
        },
        "_set": {
          "description": "Extensions for set",
          "$ref": "#/definitions/Element"
        },
        "group": {
          "description": "A group of population criteria for the measure.",
          "items": {
            "$ref": "#/definitions/Measure_Group"
          },
          "type": "array"
        },
        "supplementalData": {
          "description": "The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path.",
          "items": {
            "$ref": "#/definitions/Measure_SupplementalData"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Measure_Group": {
      "description": "The Measure resource provides the definition of a quality measure.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Indicates a meaning for the group. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing groups to be correlated across measures.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "The human readable description of this population group.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "population": {
          "description": "A population criteria for the measure.",
          "items": {
            "$ref": "#/definitions/Measure_Population"
          },
          "type": "array"
        },
        "stratifier": {
          "description": "The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library, or a valid FHIR Resource Path.",
          "items": {
            "$ref": "#/definitions/Measure_Stratifier"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Measure_Population": {
      "description": "The Measure resource provides the definition of a quality measure.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The type of population criteria.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "The human readable description of this population criteria.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "criteria": {
          "description": "The name of a valid referenced CQL expression (may be namespaced) that defines this population criteria.",
          "$ref": "#/definitions/string"
        },
        "_criteria": {
          "description": "Extensions for criteria",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Measure_Stratifier": {
      "description": "The Measure resource provides the definition of a quality measure.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Indicates a meaning for the stratifier. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing stratifiers to be correlated across measures.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "The human readable description of this stratifier criteria.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "criteria": {
          "description": "The criteria for the stratifier. This must be the name of an expression defined within a referenced library.",
          "$ref": "#/definitions/string"
        },
        "_criteria": {
          "description": "Extensions for criteria",
          "$ref": "#/definitions/Element"
        },
        "path": {
          "description": "The path to an element that defines the stratifier, specified as a valid FHIR resource path.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Measure_SupplementalData": {
      "description": "The Measure resource provides the definition of a quality measure.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Indicates a meaning for the supplemental data. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing supplemental data to be correlated across measures.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "usage": {
          "description": "An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "description": {
          "description": "The human readable description of this supplemental data.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "criteria": {
          "description": "The criteria for the supplemental data. This must be the name of a valid expression defined within a referenced library, and defines the data to be returned for this element.",
          "$ref": "#/definitions/string"
        },
        "_criteria": {
          "description": "Extensions for criteria",
          "$ref": "#/definitions/Element"
        },
        "path": {
          "description": "The supplemental data to be supplied as part of the measure response, specified as a valid FHIR Resource Path.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "MeasureReport": {
      "description": "The MeasureReport resource contains the results of evaluating a measure.",
      "properties": {
        "resourceType": {
          "description": "This is a MeasureReport resource",
          "const": "MeasureReport"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this report when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "The report status. No data will be available until the report status is complete.",
          "enum": [
            "complete",
            "pending",
            "error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of measure report. This may be an individual report, which provides the score for the measure for an individual member of the population; a subject-listing, which returns the list of members that meet the various criteria in the measure; or a summary report, which returns a population count for each of the criteria in the measure.",
          "enum": [
            "individual",
            "subject-list",
            "summary"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "measure": {
          "description": "A reference to the Measure that was evaluated to produce this report.",
          "$ref": "#/definitions/Reference"
        },
        "subject": {
          "description": "Optional subject identifying the individual or individuals the report is for.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The date this measure report was generated.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "reportingOrganization": {
          "description": "Reporting Organization.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "The reporting period for which the report was calculated.",
          "$ref": "#/definitions/Period"
        },
        "group": {
          "description": "The results of the calculation, one for each population group in the measure.",
          "items": {
            "$ref": "#/definitions/MeasureReport_Group"
          },
          "type": "array"
        },
        "evaluatedResources": {
          "description": "A reference to a Bundle containing the Resources that were used in the evaluation of this report.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "period",
        "measure",
        "resourceType"
      ]
    },
    "MeasureReport_Group": {
      "description": "The MeasureReport resource contains the results of evaluating a measure.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The meaning of the population group as defined in the measure definition.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "population": {
          "description": "The populations that make up the population group, one for each type of population appropriate for the measure.",
          "items": {
            "$ref": "#/definitions/MeasureReport_Population"
          },
          "type": "array"
        },
        "measureScore": {
          "description": "The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group.",
          "$ref": "#/definitions/Quantity"
        },
        "stratifier": {
          "description": "When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure.",
          "items": {
            "$ref": "#/definitions/MeasureReport_Stratifier"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "MeasureReport_Population": {
      "description": "The MeasureReport resource contains the results of evaluating a measure.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The type of the population.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "count": {
          "description": "The number of members of the population.",
          "$ref": "#/definitions/integer"
        },
        "_count": {
          "description": "Extensions for count",
          "$ref": "#/definitions/Element"
        },
        "subjects": {
          "description": "This element refers to a List of subject level MeasureReport resources, one for each subject in this population.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "MeasureReport_Stratifier": {
      "description": "The MeasureReport resource contains the results of evaluating a measure.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The meaning of this stratifier, as defined in the measure definition.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "stratum": {
          "description": "This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value.",
          "items": {
            "$ref": "#/definitions/MeasureReport_Stratum"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "MeasureReport_Stratum": {
      "description": "The MeasureReport resource contains the results of evaluating a measure.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "value": {
          "description": "The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "population": {
          "description": "The populations that make up the stratum, one for each type of population appropriate to the measure.",
          "items": {
            "$ref": "#/definitions/MeasureReport_Population1"
          },
          "type": "array"
        },
        "measureScore": {
          "description": "The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false,
      "required": [
        "value"
      ]
    },
    "MeasureReport_Population1": {
      "description": "The MeasureReport resource contains the results of evaluating a measure.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The type of the population.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "count": {
          "description": "The number of members of the population in this stratum.",
          "$ref": "#/definitions/integer"
        },
        "_count": {
          "description": "Extensions for count",
          "$ref": "#/definitions/Element"
        },
        "subjects": {
          "description": "This element refers to a List of subject level MeasureReport resources, one for each subject in this population in this stratum.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Media": {
      "description": "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.",
      "properties": {
        "resourceType": {
          "description": "This is a Media resource",
          "const": "Media"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "A procedure that is fulfilled in whole or in part by the creation of this media.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "partOf": {
          "description": "A larger event of which this particular event is a component or step.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "The current state of the {{title}}.",
          "enum": [
            "preparation",
            "in-progress",
            "not-done",
            "suspended",
            "aborted",
            "completed",
            "entered-in-error",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "A code that classifies the general type of observation being made. For example, whether the media is an image, video or audio recording.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "modality": {
          "description": "Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "view": {
          "description": "The name of the imaging view e.g. Lateral or Antero-posterior (AP).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "Who/What this Media is a record of.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter or episode of care that establishes the context for this media.",
          "$ref": "#/definitions/Reference"
        },
        "createdDateTime": {
          "description": "The date and time(s) at which the media was collected.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_createdDateTime": {
          "description": "Extensions for createdDateTime",
          "$ref": "#/definitions/Element"
        },
        "createdPeriod": {
          "description": "The date and time(s) at which the media was collected.",
          "$ref": "#/definitions/Period"
        },
        "issued": {
          "description": "The date and time this version of the media was made available to providers, typically after having been reviewed.",
          "$ref": "#/definitions/instant"
        },
        "_issued": {
          "description": "Extensions for issued",
          "$ref": "#/definitions/Element"
        },
        "operator": {
          "description": "The person who administered the collection of the image.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "Describes why the event occurred in coded or textual form.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "bodySite": {
          "description": "Indicates the site on the subject\u0027s body where the observation was made (i.e. the target site).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "deviceName": {
          "description": "The name of the device / manufacturer of the device  that was used to make the recording.",
          "$ref": "#/definitions/string"
        },
        "_deviceName": {
          "description": "Extensions for deviceName",
          "$ref": "#/definitions/Element"
        },
        "device": {
          "description": "The device used to collect the media.",
          "$ref": "#/definitions/Reference"
        },
        "height": {
          "description": "Height of the image in pixels (photo/video).",
          "$ref": "#/definitions/positiveInt"
        },
        "_height": {
          "description": "Extensions for height",
          "$ref": "#/definitions/Element"
        },
        "width": {
          "description": "Width of the image in pixels (photo/video).",
          "$ref": "#/definitions/positiveInt"
        },
        "_width": {
          "description": "Extensions for width",
          "$ref": "#/definitions/Element"
        },
        "frames": {
          "description": "The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required.",
          "$ref": "#/definitions/positiveInt"
        },
        "_frames": {
          "description": "Extensions for frames",
          "$ref": "#/definitions/Element"
        },
        "duration": {
          "description": "The duration of the recording in seconds - for audio and video.",
          "$ref": "#/definitions/decimal"
        },
        "_duration": {
          "description": "Extensions for duration",
          "$ref": "#/definitions/Element"
        },
        "content": {
          "description": "The actual content of the media - inline or by direct reference to the media source file.",
          "$ref": "#/definitions/Attachment"
        },
        "note": {
          "description": "Comments made about the media by the performer, subject or other participants.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "content",
        "resourceType"
      ]
    },
    "Medication": {
      "description": "This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.",
      "properties": {
        "resourceType": {
          "description": "This is a Medication resource",
          "const": "Medication"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code (or set of codes) that specify this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "status": {
          "description": "A code to indicate if the medication is in active use.",
          "enum": [
            "active",
            "inactive",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "manufacturer": {
          "description": "Describes the details of the manufacturer of the medication product.  This is not intended to represent the distributor of a medication product.",
          "$ref": "#/definitions/Reference"
        },
        "form": {
          "description": "Describes the form of the item.  Powder; tablets; capsule.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "amount": {
          "description": "Specific amount of the drug in the packaged product.  For example, when specifying a product that has the same strength (For example, Insulin glargine 100 unit per mL solution for injection), this attribute provides additional clarification of the package amount (For example, 3 mL, 10mL, etc).",
          "$ref": "#/definitions/Quantity"
        },
        "ingredient": {
          "description": "Identifies a particular constituent of interest in the product.",
          "items": {
            "$ref": "#/definitions/Medication_Ingredient"
          },
          "type": "array"
        },
        "batch": {
          "description": "Information that only applies to packages (not products).",
          "$ref": "#/definitions/Medication_Batch"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Medication_Ingredient": {
      "description": "This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "itemCodeableConcept": {
          "description": "The actual ingredient - either a substance (simple ingredient) or another medication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "itemReference": {
          "description": "The actual ingredient - either a substance (simple ingredient) or another medication.",
          "$ref": "#/definitions/Reference"
        },
        "isActive": {
          "description": "Indication of whether this ingredient affects the therapeutic action of the drug.",
          "$ref": "#/definitions/boolean"
        },
        "_isActive": {
          "description": "Extensions for isActive",
          "$ref": "#/definitions/Element"
        },
        "amount": {
          "description": "Specifies how many (or how much) of the items there are in this Medication.  For example, 250 mg per tablet.  This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet.",
          "$ref": "#/definitions/Ratio"
        }
      },
      "additionalProperties": false
    },
    "Medication_Batch": {
      "description": "This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "lotNumber": {
          "description": "The assigned lot number of a batch of the specified product.",
          "$ref": "#/definitions/string"
        },
        "_lotNumber": {
          "description": "Extensions for lotNumber",
          "$ref": "#/definitions/Element"
        },
        "expirationDate": {
          "description": "When this specific batch of product will expire.",
          "$ref": "#/definitions/dateTime"
        },
        "_expirationDate": {
          "description": "Extensions for expirationDate",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "MedicationAdministration": {
      "description": "Describes the event of a patient consuming or otherwise being administered a medication.  This may be as simple as swallowing a tablet or it may be a long running infusion.  Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicationAdministration resource",
          "const": "MedicationAdministration"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource.  The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event.  Particularly important if these records have to be updated.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "instantiates": {
          "description": "A protocol, guideline, orderset or other definition that was adhered to in whole or in part by this event.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "partOf": {
          "description": "A larger event of which this particular event is a component or step.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "Will generally be set to show that the administration has been completed.  For some long running administrations such as infusions it is possible for an administration to be started but not completed or it may be paused while some other process is under way.",
          "enum": [
            "in-progress",
            "not-done",
            "on-hold",
            "completed",
            "entered-in-error",
            "stopped",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Indicates the type of medication administration and where the medication is expected to be consumed or administered.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "medicationCodeableConcept": {
          "description": "Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "medicationReference": {
          "description": "Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.",
          "$ref": "#/definitions/Reference"
        },
        "subject": {
          "description": "The person or animal or group receiving the medication.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The visit, admission or other contact between patient and health care provider the medication administration was performed as part of.",
          "$ref": "#/definitions/Reference"
        },
        "supportingInformation": {
          "description": "Additional information (for example, patient height and weight) that supports the administration of the medication.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "effectiveDateTime": {
          "description": "A specific date/time or interval of time during which the administration took place (or did not take place, when the \u0027notGiven\u0027 attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_effectiveDateTime": {
          "description": "Extensions for effectiveDateTime",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "A specific date/time or interval of time during which the administration took place (or did not take place, when the \u0027notGiven\u0027 attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate.",
          "$ref": "#/definitions/Period"
        },
        "performer": {
          "description": "The individual who was responsible for giving the medication to the patient.",
          "items": {
            "$ref": "#/definitions/MedicationAdministration_Performer"
          },
          "type": "array"
        },
        "statusReason": {
          "description": "A code indicating why the administration was not performed.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonCode": {
          "description": "A code indicating why the medication was given.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Condition or observation that supports why the medication was administered.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "request": {
          "description": "The original request, instruction or authority to perform the administration.",
          "$ref": "#/definitions/Reference"
        },
        "device": {
          "description": "The device used in administering the medication to the patient.  For example, a particular infusion pump.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Extra information about the medication administration that is not conveyed by the other attributes.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "dosage": {
          "description": "Describes the medication dosage information details e.g. dose, rate, site, route, etc.",
          "$ref": "#/definitions/MedicationAdministration_Dosage"
        },
        "eventHistory": {
          "description": "A summary of the events of interest that have occurred, such as when the administration was verified.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "MedicationAdministration_Performer": {
      "description": "Describes the event of a patient consuming or otherwise being administered a medication.  This may be as simple as swallowing a tablet or it may be a long running infusion.  Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "function": {
          "description": "Distinguishes the type of performer in the administration.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "actor": {
          "description": "The device, practitioner, etc. who performed the action.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "actor"
      ]
    },
    "MedicationAdministration_Dosage": {
      "description": "Describes the event of a patient consuming or otherwise being administered a medication.  This may be as simple as swallowing a tablet or it may be a long running infusion.  Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "text": {
          "description": "Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans.\r\rThe dosage instructions should reflect the dosage of the medication that was administered.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        },
        "site": {
          "description": "A coded specification of the anatomic site where the medication first entered the body.  For example, \"left arm\".",
          "$ref": "#/definitions/CodeableConcept"
        },
        "route": {
          "description": "A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient.  For example, topical, intravenous, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "method": {
          "description": "A coded value indicating the method by which the medication is intended to be or was introduced into or on the body.  This attribute will most often NOT be populated.  It is most commonly used for injections.  For example, Slow Push, Deep IV.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "dose": {
          "description": "The amount of the medication given at one administration event.   Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection.",
          "$ref": "#/definitions/Quantity"
        },
        "rateRatio": {
          "description": "Identifies the speed with which the medication was or will be introduced into the patient.  Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr.  May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours.  Other examples:  200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours.",
          "$ref": "#/definitions/Ratio"
        },
        "rateQuantity": {
          "description": "Identifies the speed with which the medication was or will be introduced into the patient.  Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr.  May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours.  Other examples:  200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false
    },
    "MedicationDispense": {
      "description": "Indicates that a medication product is to be or has been dispensed for a named person/patient.  This includes a description of the medication product (supply) provided and the instructions for administering the medication.  The medication dispense is the result of a pharmacy system responding to a medication order.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicationDispense resource",
          "const": "MedicationDispense"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier assigned by the dispensing facility - this is an identifier assigned outside FHIR.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "partOf": {
          "description": "The procedure that the dispense is done because of.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "A code specifying the state of the set of dispense events.",
          "enum": [
            "preparation",
            "in-progress",
            "not-done",
            "on-hold",
            "completed",
            "entered-in-error",
            "stopped"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Indicates type of medication dispense and where the medication is expected to be consumed or administered.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "medicationCodeableConcept": {
          "description": "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "medicationReference": {
          "description": "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.",
          "$ref": "#/definitions/Reference"
        },
        "subject": {
          "description": "A link to a resource representing the person or the group to whom the medication will be given.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter or episode of care that establishes the context for this event.",
          "$ref": "#/definitions/Reference"
        },
        "supportingInformation": {
          "description": "Additional information that supports the medication being dispensed.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "performer": {
          "description": "Indicates who or what performed the event.",
          "items": {
            "$ref": "#/definitions/MedicationDispense_Performer"
          },
          "type": "array"
        },
        "location": {
          "description": "The principal physical locaiton where the dispense was performed.",
          "$ref": "#/definitions/Reference"
        },
        "authorizingPrescription": {
          "description": "Indicates the medication order that is being dispensed against.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "type": {
          "description": "Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "quantity": {
          "description": "The amount of medication that has been dispensed. Includes unit of measure.",
          "$ref": "#/definitions/Quantity"
        },
        "daysSupply": {
          "description": "The amount of medication expressed as a timing amount.",
          "$ref": "#/definitions/Quantity"
        },
        "whenPrepared": {
          "description": "The time when the dispensed product was packaged and reviewed.",
          "$ref": "#/definitions/dateTime"
        },
        "_whenPrepared": {
          "description": "Extensions for whenPrepared",
          "$ref": "#/definitions/Element"
        },
        "whenHandedOver": {
          "description": "The time the dispensed product was provided to the patient or their representative.",
          "$ref": "#/definitions/dateTime"
        },
        "_whenHandedOver": {
          "description": "Extensions for whenHandedOver",
          "$ref": "#/definitions/Element"
        },
        "destination": {
          "description": "Identification of the facility/location where the medication was shipped to, as part of the dispense event.",
          "$ref": "#/definitions/Reference"
        },
        "receiver": {
          "description": "Identifies the person who picked up the medication.  This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Extra information about the dispense that could not be conveyed in the other attributes.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "dosageInstruction": {
          "description": "Indicates how the medication is to be used by the patient.",
          "items": {
            "$ref": "#/definitions/Dosage"
          },
          "type": "array"
        },
        "substitution": {
          "description": "Indicates whether or not substitution was made as part of the dispense.  In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen.  This block explains what substitution did or did not happen and why.  If nothing is specified, substitution was not done.",
          "$ref": "#/definitions/MedicationDispense_Substitution"
        },
        "detectedIssue": {
          "description": "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, duplicate therapy, dosage alert etc.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "statusReasonCodeableConcept": {
          "description": "Indicates the reason why a dispense was not performed.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "statusReasonReference": {
          "description": "Indicates the reason why a dispense was not performed.",
          "$ref": "#/definitions/Reference"
        },
        "eventHistory": {
          "description": "A summary of the events of interest that have occurred, such as when the dispense was verified.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "MedicationDispense_Performer": {
      "description": "Indicates that a medication product is to be or has been dispensed for a named person/patient.  This includes a description of the medication product (supply) provided and the instructions for administering the medication.  The medication dispense is the result of a pharmacy system responding to a medication order.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "function": {
          "description": "Distinguishes the type of performer in the dispense.  For example, date enterer, packager, final checker.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "actor": {
          "description": "The device, practitioner, etc. who performed the action.  It should be assumed that the actor is the dispenser of the medication.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "actor"
      ]
    },
    "MedicationDispense_Substitution": {
      "description": "Indicates that a medication product is to be or has been dispensed for a named person/patient.  This includes a description of the medication product (supply) provided and the instructions for administering the medication.  The medication dispense is the result of a pharmacy system responding to a medication order.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "wasSubstituted": {
          "description": "True if the dispenser dispensed a different drug or product from what was prescribed.",
          "$ref": "#/definitions/boolean"
        },
        "_wasSubstituted": {
          "description": "Extensions for wasSubstituted",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "A code signifying whether a different drug was dispensed from what was prescribed.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reason": {
          "description": "Indicates the reason for the substitution of (or lack of substitution) from what was prescribed.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "responsibleParty": {
          "description": "The person or organization that has primary responsibility for the substitution.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "MedicationRequest": {
      "description": "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicationRequest resource",
          "const": "MedicationRequest"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this medication request that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. For example a re-imbursement system might issue its own id for each prescription that is created.  This is particularly important where FHIR only provides part of an entire workflow process where records must be tracked through an entire system.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "A code specifying the current state of the order.  Generally this will be active or completed state.",
          "enum": [
            "active",
            "on-hold",
            "cancelled",
            "completed",
            "entered-in-error",
            "stopped",
            "draft",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "intent": {
          "description": "Whether the request is a proposal, plan, or an original order.",
          "enum": [
            "proposal",
            "plan",
            "order",
            "instance-order",
            "option"
          ]
        },
        "_intent": {
          "description": "Extensions for intent",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Indicates the type of medication request (for example, where the medication is expected to be consumed or administered (i.e. inpatient or outpatient) or the type of treatment (i.e. chemotherapy or endocrine).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "priority": {
          "description": "Indicates how quickly the Medication Request should be addressed with respect to other requests.",
          "$ref": "#/definitions/code"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        },
        "medicationCodeableConcept": {
          "description": "Identifies the medication being requested. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "medicationReference": {
          "description": "Identifies the medication being requested. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications.",
          "$ref": "#/definitions/Reference"
        },
        "subject": {
          "description": "A link to a resource representing the person or set of individuals to whom the medication will be given.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "A link to an encounter, or episode of care, that identifies the particular occurrence or set occurrences of contact between patient and health care provider.",
          "$ref": "#/definitions/Reference"
        },
        "supportingInformation": {
          "description": "Include additional information (for example, patient height and weight) that supports the ordering of the medication.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "authoredOn": {
          "description": "The date (and perhaps time) when the prescription was initially written or authored on.",
          "$ref": "#/definitions/dateTime"
        },
        "_authoredOn": {
          "description": "Extensions for authoredOn",
          "$ref": "#/definitions/Element"
        },
        "requester": {
          "description": "The individual, organization or device that initiated the request and has responsibility for its activation.",
          "$ref": "#/definitions/Reference"
        },
        "performer": {
          "description": "The specified desired performer of the medication treatment (e.g. the performer of the medication administration).",
          "$ref": "#/definitions/Reference"
        },
        "performerType": {
          "description": "Indicates the type of performer of the administration of the medication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "recorder": {
          "description": "The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "The reason or the indication for ordering the medication.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Condition or observation that supports why the medication was ordered.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "instantiates": {
          "description": "The URL pointing to a protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "A plan or request that is fulfilled in whole or in part by this medication request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "groupIdentifier": {
          "description": "A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription.",
          "$ref": "#/definitions/Identifier"
        },
        "statusReason": {
          "description": "Captures the reason for the current state of the MedicationRequest.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "insurance": {
          "description": "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be in delivering the requested service.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Extra information about the prescription that could not be conveyed by the other attributes.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "dosageInstruction": {
          "description": "Indicates how the medication is to be used by the patient.",
          "items": {
            "$ref": "#/definitions/Dosage"
          },
          "type": "array"
        },
        "dispenseRequest": {
          "description": "Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order).  Note that this information is not always sent with the order.  There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department.",
          "$ref": "#/definitions/MedicationRequest_DispenseRequest"
        },
        "substitution": {
          "description": "Indicates whether or not substitution can or should be part of the dispense. In some cases substitution must happen, in other cases substitution must not happen. This block explains the prescriber\u0027s intent. If nothing is specified substitution may be done.",
          "$ref": "#/definitions/MedicationRequest_Substitution"
        },
        "priorPrescription": {
          "description": "A link to a resource representing an earlier order related order or prescription.",
          "$ref": "#/definitions/Reference"
        },
        "detectedIssue": {
          "description": "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, duplicate therapy, dosage alert etc.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "eventHistory": {
          "description": "Links to Provenance records for past versions of this resource or fulfilling request or event resources that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the resource.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "MedicationRequest_DispenseRequest": {
      "description": "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "validityPeriod": {
          "description": "This indicates the validity period of a prescription (stale dating the Prescription).",
          "$ref": "#/definitions/Period"
        },
        "numberOfRepeatsAllowed": {
          "description": "An integer indicating the number of times, in addition to the original dispense, (aka refills or repeats) that the patient can receive the prescribed medication. Usage Notes: This integer does not include the original order dispense. This means that if an order indicates dispense 30 tablets plus \"3 repeats\", then the order can be dispensed a total of 4 times and the patient can receive a total of 120 tablets.  A prescriber may explicitly say that zero refills are permitted after the initial dispense.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_numberOfRepeatsAllowed": {
          "description": "Extensions for numberOfRepeatsAllowed",
          "$ref": "#/definitions/Element"
        },
        "quantity": {
          "description": "The amount that is to be dispensed for one fill.",
          "$ref": "#/definitions/Quantity"
        },
        "expectedSupplyDuration": {
          "description": "Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last.",
          "$ref": "#/definitions/Duration"
        },
        "performer": {
          "description": "Indicates the intended dispensing Organization specified by the prescriber.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "MedicationRequest_Substitution": {
      "description": "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "allowed": {
          "description": "True if the prescriber allows a different drug to be dispensed from what was prescribed.",
          "$ref": "#/definitions/boolean"
        },
        "_allowed": {
          "description": "Extensions for allowed",
          "$ref": "#/definitions/Element"
        },
        "reason": {
          "description": "Indicates the reason for the substitution, or why substitution must or must not be performed.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "MedicationStatement": {
      "description": "A record of a medication that is being consumed by a patient.   A MedicationStatement may indicate that the patient may be taking the medication now, or has taken the medication in the past or will be taking the medication in the future.  The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician.  A common scenario where this information is captured is during the history taking process during a patient visit or stay.   The medication information may come from sources such as the patient\u0027s memory, from a prescription bottle,  or from a list of medications the patient, clinician or other party maintains. \r\rThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medication statement is often, if not always, less specific.  There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise.  As stated earlier, the medication statement information may come from the patient\u0027s memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains.  Medication administration is more formal and is not missing detailed information.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicationStatement resource",
          "const": "MedicationStatement"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource.  The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event.  Particularly important if these records have to be updated.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "partOf": {
          "description": "A larger event of which this particular event is a component or step.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "A code representing the patient or other source\u0027s judgment about the state of the medication used that this statement is about.  Generally this will be active or completed.",
          "enum": [
            "active",
            "completed",
            "entered-in-error",
            "intended",
            "stopped",
            "on-hold",
            "unknown",
            "not-taken"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "statusReason": {
          "description": "A code indicating why the medication was not taken.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "category": {
          "description": "Indicates where type of medication statement and where the medication is expected to be consumed or administered.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "medicationCodeableConcept": {
          "description": "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "medicationReference": {
          "description": "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.",
          "$ref": "#/definitions/Reference"
        },
        "subject": {
          "description": "The person, animal or group who is/was taking the medication.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter or episode of care that establishes the context for this MedicationStatement.",
          "$ref": "#/definitions/Reference"
        },
        "effectiveDateTime": {
          "description": "The interval of time during which it is being asserted that the patient is/was/will be taking the medication ( or was not taking, when the MedicationStatement.taken element is No).",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_effectiveDateTime": {
          "description": "Extensions for effectiveDateTime",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The interval of time during which it is being asserted that the patient is/was/will be taking the medication ( or was not taking, when the MedicationStatement.taken element is No).",
          "$ref": "#/definitions/Period"
        },
        "dateAsserted": {
          "description": "The date when the medication statement was asserted by the information source.",
          "$ref": "#/definitions/dateTime"
        },
        "_dateAsserted": {
          "description": "Extensions for dateAsserted",
          "$ref": "#/definitions/Element"
        },
        "informationSource": {
          "description": "The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g Claim or MedicationRequest.",
          "$ref": "#/definitions/Reference"
        },
        "derivedFrom": {
          "description": "Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "reasonCode": {
          "description": "A reason for why the medication is being/was taken.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Condition or observation that supports why the medication is being/was taken.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Provides extra information about the medication statement that is not conveyed by the other attributes.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "dosage": {
          "description": "Indicates how the medication is/was or should be taken by the patient.",
          "items": {
            "$ref": "#/definitions/Dosage"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "MedicinalProduct": {
      "description": "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).",
      "properties": {
        "resourceType": {
          "description": "This is a MedicinalProduct resource",
          "const": "MedicinalProduct"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Business idenfifier for this product. Could be an MPID.",
          "$ref": "#/definitions/Identifier"
        },
        "type": {
          "description": "Regulatory type, e.g Investigational or Authorized.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "combinedPharmaceuticalDoseForm": {
          "description": "The dose form for a single part product, or combined form of a multiple part product.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "additionalMonitoringIndicator": {
          "description": "Whether the Medicinal Product is subject to additional monitoring for regulatory reasons.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "specialMeasures": {
          "description": "Whether the Medicinal Product is subject to special measures for regulatory reasons.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_specialMeasures": {
          "description": "Extensions for specialMeasures",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "paediatricUseIndicator": {
          "description": "If authorised for use in children.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "orphanDesignationStatus": {
          "description": "Indicates if the medicinal product has an orphan designation for the treatment of a rare disease.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "productClassification": {
          "description": "Allows the product to be classified by various systems.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "marketingAuthorization": {
          "description": "Product regulatory authorization.",
          "$ref": "#/definitions/Reference"
        },
        "packagedMedicinalProduct": {
          "description": "Package representation for the product.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "pharmaceuticalProduct": {
          "description": "Pharmaceutical aspects of product.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "clinicalParticulars": {
          "description": "Clinical particulars, indications etc.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "attachedDocument": {
          "description": "Supporting documentation, typically for regulatory submission.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "masterFile": {
          "description": "A master file for to the medicinal product (e.g. Pharmacovigilance System Master File).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "name": {
          "description": "The product\u0027s name, including full name and possibly coded parts.",
          "items": {
            "$ref": "#/definitions/MedicinalProduct_Name"
          },
          "type": "array"
        },
        "crossReference": {
          "description": "Reference to another product, e.g. for linking authorised to investigational product.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "manufacturingBusinessOperation": {
          "description": "An operation applied to the product, for manufacturing or adminsitrative purpose.",
          "items": {
            "$ref": "#/definitions/MedicinalProduct_ManufacturingBusinessOperation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "identifier",
        "name",
        "resourceType"
      ]
    },
    "MedicinalProduct_Name": {
      "description": "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "fullName": {
          "description": "The full product name.",
          "$ref": "#/definitions/string"
        },
        "_fullName": {
          "description": "Extensions for fullName",
          "$ref": "#/definitions/Element"
        },
        "namePart": {
          "description": "Coding words or phrases of the name.",
          "items": {
            "$ref": "#/definitions/MedicinalProduct_NamePart"
          },
          "type": "array"
        },
        "countryLanguage": {
          "description": "Country where the name applies.",
          "items": {
            "$ref": "#/definitions/MedicinalProduct_CountryLanguage"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "MedicinalProduct_NamePart": {
      "description": "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "part": {
          "description": "A fragment of a product name.",
          "$ref": "#/definitions/string"
        },
        "_part": {
          "description": "Extensions for part",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Idenifying type for this part of the name (e.g. strength part).",
          "$ref": "#/definitions/Coding"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "MedicinalProduct_CountryLanguage": {
      "description": "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "country": {
          "description": "Country code for where this name applies.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "jurisdiction": {
          "description": "Jurisdiction code for where this name applies.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "language": {
          "description": "Language code for this name.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "country",
        "language"
      ]
    },
    "MedicinalProduct_ManufacturingBusinessOperation": {
      "description": "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "operationType": {
          "description": "The type of manufacturing operation.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "authorisationReferenceNumber": {
          "description": "Regulatory authorization reference number.",
          "$ref": "#/definitions/Identifier"
        },
        "effectiveDate": {
          "description": "Regulatory authorization date.",
          "$ref": "#/definitions/dateTime"
        },
        "_effectiveDate": {
          "description": "Extensions for effectiveDate",
          "$ref": "#/definitions/Element"
        },
        "confidentialityIndicator": {
          "description": "To indicate if this proces is commercially confidential.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "manufacturer": {
          "description": "The manufacturer or establishment associated with the process.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "regulator": {
          "description": "A regulator which oversees the operation.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "MedicinalProductAuthorization": {
      "description": "The regulatory authorization of a medicinal product.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicinalProductAuthorization resource",
          "const": "MedicinalProductAuthorization"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Business identifier for the marketing authorization, as assigned by a regulator.",
          "$ref": "#/definitions/Identifier"
        },
        "country": {
          "description": "The country in which the marketing authorization has been granted.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "legalStatusOfSupply": {
          "description": "The legal status of supply of the medicinal product as classified by the regulator.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "status": {
          "description": "The status of the marketing authorization.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "statusDate": {
          "description": "The date at which the given status has become applicable.",
          "$ref": "#/definitions/dateTime"
        },
        "_statusDate": {
          "description": "Extensions for statusDate",
          "$ref": "#/definitions/Element"
        },
        "restoreDate": {
          "description": "The date when a suspended the marketing or the marketing authorization of the product is anticipated to be restored.",
          "$ref": "#/definitions/dateTime"
        },
        "_restoreDate": {
          "description": "Extensions for restoreDate",
          "$ref": "#/definitions/Element"
        },
        "validityPeriod": {
          "description": "The beginning of the time period in which the marketing authorization is in the specific status shall be specified A complete date consisting of day, month and year shall be specified using the ISO 8601 date format.",
          "$ref": "#/definitions/Period"
        },
        "dataExclusivityPeriod": {
          "description": "A period of time after authorization before generic product applicatiosn can be submitted.",
          "$ref": "#/definitions/Period"
        },
        "dateOfFirstAuthorization": {
          "description": "The date when the first authorization was granted by a Medicines Regulatory Agency.",
          "$ref": "#/definitions/dateTime"
        },
        "_dateOfFirstAuthorization": {
          "description": "Extensions for dateOfFirstAuthorization",
          "$ref": "#/definitions/Element"
        },
        "internationalBirthDate": {
          "description": "Date of first marketing authorization for a company\u0027s new medicinal product in any country in the World.",
          "$ref": "#/definitions/dateTime"
        },
        "_internationalBirthDate": {
          "description": "Extensions for internationalBirthDate",
          "$ref": "#/definitions/Element"
        },
        "jurisdictionalAuthorization": {
          "description": "Authorization in areas within a country.",
          "items": {
            "$ref": "#/definitions/MedicinalProductAuthorization_JurisdictionalAuthorization"
          },
          "type": "array"
        },
        "holder": {
          "description": "Marketing Authorization Holder.",
          "$ref": "#/definitions/Reference"
        },
        "regulator": {
          "description": "Medicines Regulatory Agency.",
          "$ref": "#/definitions/Reference"
        },
        "procedure": {
          "description": "The regulatory procedure for granting or amending a marketing authorization.",
          "$ref": "#/definitions/MedicinalProductAuthorization_Procedure"
        },
        "marketingStatus": {
          "description": "Marketing status of the medicinal product, in contrast to marketing authorizaton.",
          "items": {
            "$ref": "#/definitions/MarketingStatus"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "validityPeriod",
        "country",
        "legalStatusOfSupply",
        "regulator",
        "holder",
        "procedure",
        "resourceType",
        "status"
      ]
    },
    "MedicinalProductAuthorization_JurisdictionalAuthorization": {
      "description": "The regulatory authorization of a medicinal product.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "country": {
          "description": "Country of authorization.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "jurisdiction": {
          "description": "Jurisdiction within a country.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "number": {
          "description": "The assigned number for the marketing authorization.",
          "$ref": "#/definitions/Identifier"
        },
        "legalStatusOfSupply": {
          "description": "The legal status of supply in a jurisdiction or region.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "country"
      ]
    },
    "MedicinalProductAuthorization_Procedure": {
      "description": "The regulatory authorization of a medicinal product.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "number": {
          "description": "Identifier for this procedure.",
          "$ref": "#/definitions/Identifier"
        },
        "type": {
          "description": "Type of procedure.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "date": {
          "description": "Date of procedure.",
          "$ref": "#/definitions/Period"
        },
        "application": {
          "description": "Applcations submitted to obtain a marketing authorization.",
          "items": {
            "$ref": "#/definitions/MedicinalProductAuthorization_Application"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "MedicinalProductAuthorization_Application": {
      "description": "The regulatory authorization of a medicinal product.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "number": {
          "description": "A unique identifier for the specific instance of an application shall be provided in text. The application identifier/number is usually assigned by a Medicines Regulatory Agency.",
          "$ref": "#/definitions/Identifier"
        },
        "type": {
          "description": "The type of the application.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "date": {
          "description": "Date that that application was made.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "number",
        "type"
      ]
    },
    "MedicinalProductClinicals": {
      "description": "The clinical particulars - indications, contraindications etc of a medicinal product, including for regulatory purposes.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicinalProductClinicals resource",
          "const": "MedicinalProductClinicals"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "undesirableEffects": {
          "description": "Describe the undesirable effects of the medicinal product.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_UndesirableEffects"
          },
          "type": "array"
        },
        "therapeuticIndication": {
          "description": "Indication for the Medicinal Product.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_TherapeuticIndication"
          },
          "type": "array"
        },
        "contraindication": {
          "description": "Contraindication for the medicinal product.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_Contraindication"
          },
          "type": "array"
        },
        "interactions": {
          "description": "The interactions of the medicinal product with other medicinal products, or other forms of interactions.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_Interactions"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "therapeuticIndication",
        "resourceType"
      ]
    },
    "MedicinalProductClinicals_UndesirableEffects": {
      "description": "The clinical particulars - indications, contraindications etc of a medicinal product, including for regulatory purposes.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "symptomConditionEffect": {
          "description": "The symptom, condition or undesirable effect.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "classification": {
          "description": "Classification of the effect.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "frequencyOfOccurrence": {
          "description": "The frequency of occurrence of the effect.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "population": {
          "description": "The population group to which this applies.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_Population"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "MedicinalProductClinicals_Population": {
      "description": "The clinical particulars - indications, contraindications etc of a medicinal product, including for regulatory purposes.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "ageRange": {
          "description": "The age of the specific population.",
          "$ref": "#/definitions/Range"
        },
        "ageCodeableConcept": {
          "description": "The age of the specific population.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "gender": {
          "description": "The gender of the specific population.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "race": {
          "description": "Race of the specific population.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "physiologicalCondition": {
          "description": "The existing physiological conditions of the specific population to which this applies.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "MedicinalProductClinicals_TherapeuticIndication": {
      "description": "The clinical particulars - indications, contraindications etc of a medicinal product, including for regulatory purposes.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "diseaseSymptomProcedure": {
          "description": "The disease, symptom or procedure that is the indication for treatment.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "diseaseStatus": {
          "description": "The status of the disease or symptom for which the indication applies.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "comorbidity": {
          "description": "Comorbidity (concurrent condition) or co-infection as part of the indication.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "intendedEffect": {
          "description": "The intended effect, aim or strategy to be achieved by the indication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "duration": {
          "description": "Timing or duration information as part of the indication.",
          "$ref": "#/definitions/Quantity"
        },
        "undesirableEffects": {
          "description": "Information about the use of the medicinal product in relation to other therapies as part of the indication.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_UndesirableEffects"
          },
          "type": "array"
        },
        "otherTherapy": {
          "description": "Information about the use of the medicinal product in relation to other therapies described as part of the indication.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_OtherTherapy"
          },
          "type": "array"
        },
        "population": {
          "description": "The population group to which this applies.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_Population"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "MedicinalProductClinicals_OtherTherapy": {
      "description": "The clinical particulars - indications, contraindications etc of a medicinal product, including for regulatory purposes.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "therapyRelationshipType": {
          "description": "The type of relationship between the medicinal product indication or contraindication and another therapy.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "medicationCodeableConcept": {
          "description": "Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "medicationReference": {
          "description": "Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "therapyRelationshipType"
      ]
    },
    "MedicinalProductClinicals_Contraindication": {
      "description": "The clinical particulars - indications, contraindications etc of a medicinal product, including for regulatory purposes.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "disease": {
          "description": "The disease, symptom or procedure for the contraindication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "diseaseStatus": {
          "description": "The status of the disease or symptom for the contraindication.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "comorbidity": {
          "description": "A comorbidity (concurrent condition) or coinfection.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "therapeuticIndication": {
          "description": "Information about the use of the medicinal product in relation to other therapies as part of the indication.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_TherapeuticIndication"
          },
          "type": "array"
        },
        "otherTherapy": {
          "description": "Information about the use of the medicinal product in relation to other therapies described as part of the contraindication.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_OtherTherapy"
          },
          "type": "array"
        },
        "population": {
          "description": "The population group to which this applies.",
          "items": {
            "$ref": "#/definitions/MedicinalProductClinicals_Population"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "MedicinalProductClinicals_Interactions": {
      "description": "The clinical particulars - indications, contraindications etc of a medicinal product, including for regulatory purposes.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "interactant": {
          "description": "The specific medication, food or laboratory test that interacts.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of the interaction.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "effect": {
          "description": "The effect of the interaction.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "incidence": {
          "description": "The incidence of the interaction.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "management": {
          "description": "Actions for managing the interaction.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "MedicinalProductDeviceSpec": {
      "description": "A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicinalProductDeviceSpec resource",
          "const": "MedicinalProductDeviceSpec"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Business identifier.",
          "$ref": "#/definitions/Identifier"
        },
        "type": {
          "description": "The type of device.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "tradeName": {
          "description": "Trade name of the device, where applicable.",
          "$ref": "#/definitions/string"
        },
        "_tradeName": {
          "description": "Extensions for tradeName",
          "$ref": "#/definitions/Element"
        },
        "quantity": {
          "description": "The quantity of the device present in the packaging of a medicinal product.",
          "$ref": "#/definitions/Quantity"
        },
        "listingNumber": {
          "description": "Device listing number.",
          "$ref": "#/definitions/string"
        },
        "_listingNumber": {
          "description": "Extensions for listingNumber",
          "$ref": "#/definitions/Element"
        },
        "modelNumber": {
          "description": "Device model or reference number.",
          "$ref": "#/definitions/string"
        },
        "_modelNumber": {
          "description": "Extensions for modelNumber",
          "$ref": "#/definitions/Element"
        },
        "sterilityIndicator": {
          "description": "Whether the device is supplied as sterile.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "sterilisationRequirement": {
          "description": "Whether the device must be sterilised before use.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "usage": {
          "description": "Usage pattern including the number of times that the device may be used.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "nomenclature": {
          "description": "A nomenclature term for the device.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "shelfLife": {
          "description": "Shelf Life and storage information.",
          "items": {
            "$ref": "#/definitions/ProductShelfLife"
          },
          "type": "array"
        },
        "physicalCharacteristics": {
          "description": "Dimensions, color etc.",
          "$ref": "#/definitions/ProdCharacteristic"
        },
        "otherCharacteristics": {
          "description": "Other codeable characteristics.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "batchIdentifier": {
          "description": "Batch number or expiry date of a device.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "manufacturer": {
          "description": "Manufacturer of this Device.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "material": {
          "description": "A substance used to create the material(s) of which the device is made.",
          "items": {
            "$ref": "#/definitions/MedicinalProductDeviceSpec_Material"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "type",
        "resourceType"
      ]
    },
    "MedicinalProductDeviceSpec_Material": {
      "description": "A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "substance": {
          "description": "The substance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "alternate": {
          "description": "Indicates an alternative material of the device.",
          "$ref": "#/definitions/boolean"
        },
        "_alternate": {
          "description": "Extensions for alternate",
          "$ref": "#/definitions/Element"
        },
        "allergenicIndicator": {
          "description": "Whether the substance is a known or suspected allergen.",
          "$ref": "#/definitions/boolean"
        },
        "_allergenicIndicator": {
          "description": "Extensions for allergenicIndicator",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "substance"
      ]
    },
    "MedicinalProductIngredient": {
      "description": "An ingredient of a manufactured item or pharmaceutical product.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicinalProductIngredient resource",
          "const": "MedicinalProductIngredient"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The identifier(s) of this Ingredient t that are assigned by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate.",
          "$ref": "#/definitions/Identifier"
        },
        "role": {
          "description": "Ingredient role e.g. Active ingredient, excipient.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "allergenicIndicator": {
          "description": "If the ingredient is a known or suspected allergen.",
          "$ref": "#/definitions/boolean"
        },
        "_allergenicIndicator": {
          "description": "Extensions for allergenicIndicator",
          "$ref": "#/definitions/Element"
        },
        "manufacturer": {
          "description": "Manufacturer of this Ingredient.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "specifiedSubstance": {
          "description": "A specified substance that comprises this ingredient.",
          "items": {
            "$ref": "#/definitions/MedicinalProductIngredient_SpecifiedSubstance"
          },
          "type": "array"
        },
        "substance": {
          "description": "The ingredient substance.",
          "$ref": "#/definitions/MedicinalProductIngredient_Substance"
        }
      },
      "additionalProperties": false,
      "required": [
        "role",
        "resourceType"
      ]
    },
    "MedicinalProductIngredient_SpecifiedSubstance": {
      "description": "An ingredient of a manufactured item or pharmaceutical product.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The specified substance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "group": {
          "description": "The group of specified substance, e.g. group 1 to 4.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "confidentiality": {
          "description": "Confidentiality level of the specified substance as the ingredient.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "strength": {
          "description": "Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product.",
          "items": {
            "$ref": "#/definitions/MedicinalProductIngredient_Strength"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "code",
        "group"
      ]
    },
    "MedicinalProductIngredient_Strength": {
      "description": "An ingredient of a manufactured item or pharmaceutical product.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "presentation": {
          "description": "The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item.",
          "$ref": "#/definitions/Ratio"
        },
        "concentration": {
          "description": "The strength per unitary volume (or mass).",
          "$ref": "#/definitions/Ratio"
        },
        "measurementPoint": {
          "description": "For when strength is measured at a particular point or distance.",
          "$ref": "#/definitions/string"
        },
        "_measurementPoint": {
          "description": "Extensions for measurementPoint",
          "$ref": "#/definitions/Element"
        },
        "country": {
          "description": "The country or countries for which the strength range applies.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "referenceStrength": {
          "description": "Strength expressed in terms of a reference substance.",
          "items": {
            "$ref": "#/definitions/MedicinalProductIngredient_ReferenceStrength"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "presentation"
      ]
    },
    "MedicinalProductIngredient_ReferenceStrength": {
      "description": "An ingredient of a manufactured item or pharmaceutical product.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "substance": {
          "description": "Relevent refrerence substance.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "MedicinalProductIngredient_Substance": {
      "description": "An ingredient of a manufactured item or pharmaceutical product.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The ingredient substance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "strength": {
          "description": "Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product.",
          "items": {
            "$ref": "#/definitions/MedicinalProductIngredient_Strength"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "code",
        "strength"
      ]
    },
    "MedicinalProductPackaged": {
      "description": "A medicinal product in a container or package.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicinalProductPackaged resource",
          "const": "MedicinalProductPackaged"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique identifier.",
          "$ref": "#/definitions/Identifier"
        },
        "description": {
          "description": "Textual description.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "marketingStatus": {
          "description": "Marketing information.",
          "items": {
            "$ref": "#/definitions/MarketingStatus"
          },
          "type": "array"
        },
        "batchIdentifier": {
          "description": "Batch numbering.",
          "items": {
            "$ref": "#/definitions/MedicinalProductPackaged_BatchIdentifier"
          },
          "type": "array"
        },
        "packageItem": {
          "description": "A packaging item, as a contained for medicine, possibly with other packaging items within.",
          "items": {
            "$ref": "#/definitions/MedicinalProductPackaged_PackageItem"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "identifier",
        "packageItem",
        "resourceType"
      ]
    },
    "MedicinalProductPackaged_BatchIdentifier": {
      "description": "A medicinal product in a container or package.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "outerPackaging": {
          "description": "A number appearing on the outer packaging of a specific batch.",
          "$ref": "#/definitions/Identifier"
        },
        "immediatePackaging": {
          "description": "A number appearing on the immediate packaging (and not the outer packaging).",
          "$ref": "#/definitions/Identifier"
        }
      },
      "additionalProperties": false,
      "required": [
        "outerPackaging"
      ]
    },
    "MedicinalProductPackaged_PackageItem": {
      "description": "A medicinal product in a container or package.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Including possibly Data Carrier Identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "type": {
          "description": "The physical type of the container of the medicine.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "quantity": {
          "description": "The quantity of this package in the medicinal product, at the current level of packaging. The outermost is always 1.",
          "$ref": "#/definitions/Quantity"
        },
        "material": {
          "description": "Material type of the package item.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "alternateMaterial": {
          "description": "A possible alternate material for the packaging.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "manufacturer": {
          "description": "Manufacturer of this Package Item.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "device": {
          "description": "A device accompanying a medicinal product.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "manufacturedItem": {
          "description": "The manufactured item as contained in the packaged medicinal product.",
          "items": {
            "$ref": "#/definitions/MedicinalProductPackaged_ManufacturedItem"
          },
          "type": "array"
        },
        "otherCharacteristics": {
          "description": "Other codeable characteristics.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "packageItem": {
          "description": "Allows containers within containers.",
          "items": {
            "$ref": "#/definitions/MedicinalProductPackaged_PackageItem"
          },
          "type": "array"
        },
        "physicalCharacteristics": {
          "description": "Dimensions, color etc.",
          "$ref": "#/definitions/ProdCharacteristic"
        },
        "shelfLifeStorage": {
          "description": "Shelf Life and storage information.",
          "items": {
            "$ref": "#/definitions/ProductShelfLife"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "quantity",
        "type"
      ]
    },
    "MedicinalProductPackaged_ManufacturedItem": {
      "description": "A medicinal product in a container or package.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "manufacturedDoseForm": {
          "description": "Dose form as manufactured and before any transformation into the pharmaceutical product.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "unitOfPresentation": {
          "description": "The “real world” units in which the quantity of the manufactured item is described.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "quantity": {
          "description": "The quantity or \"count number\" of the manufactured item.",
          "$ref": "#/definitions/Quantity"
        },
        "xManufacturer": {
          "description": "Manufacturer of the item (Note that this should be named \"manufacturer\" but it currently causes technical issues).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "ingredient": {
          "description": "Ingredient.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "physicalCharacteristics": {
          "description": "Dimensions, color etc.",
          "$ref": "#/definitions/ProdCharacteristic"
        }
      },
      "additionalProperties": false,
      "required": [
        "quantity",
        "manufacturedDoseForm"
      ]
    },
    "MedicinalProductPharmaceutical": {
      "description": "A pharmaceutical product described in terms of its composition and dose form.",
      "properties": {
        "resourceType": {
          "description": "This is a MedicinalProductPharmaceutical resource",
          "const": "MedicinalProductPharmaceutical"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "An identifier for the pharmaceutical medicinal product.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "administrableDoseForm": {
          "description": "The administrable dose form, after necessary reconstitution.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "unitOfPresentation": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "routeOfAdministration": {
          "description": "The path by which the pharmaceutical product is taken into or makes contact with the body.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "ingredient": {
          "description": "Ingredient.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "device": {
          "description": "Accompanying device.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_device": {
          "description": "Extensions for device",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "characteristics": {
          "description": "Characteristics e.g. a products onset of action.",
          "items": {
            "$ref": "#/definitions/MedicinalProductPharmaceutical_Characteristics"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "administrableDoseForm",
        "routeOfAdministration",
        "resourceType"
      ]
    },
    "MedicinalProductPharmaceutical_Characteristics": {
      "description": "A pharmaceutical product described in terms of its composition and dose form.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A coded characteristic.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "status": {
          "description": "The status of characteristic e.g. assigned or pending.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "MessageDefinition": {
      "description": "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.",
      "properties": {
        "resourceType": {
          "description": "This is a MessageDefinition resource",
          "const": "MessageDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this message definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this message definition is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "$ref": "#/definitions/Identifier"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the message definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the message definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the message definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the message definition.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this message definition. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this message definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the message definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the message definition changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the message definition.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the message definition from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate message definition instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the message definition is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this message definition is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "base": {
          "description": "The MessageDefinition that is the basis for the contents of this resource.",
          "$ref": "#/definitions/Reference"
        },
        "parent": {
          "description": "Identifies a protocol or workflow that this MessageDefinition represents a step in.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "replaces": {
          "description": "A MessageDefinition that is superseded by this definition.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "eventCoding": {
          "description": "Event code or link to the EventDefinition.",
          "$ref": "#/definitions/Coding"
        },
        "eventUri": {
          "description": "Event code or link to the EventDefinition.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_eventUri": {
          "description": "Extensions for eventUri",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "The impact of the content of the message.",
          "$ref": "#/definitions/code"
        },
        "_category": {
          "description": "Extensions for category",
          "$ref": "#/definitions/Element"
        },
        "focus": {
          "description": "Identifies the resource (or resources) that are being addressed by the event.  For example, the Encounter for an admit message or two Account records for a merge.",
          "items": {
            "$ref": "#/definitions/MessageDefinition_Focus"
          },
          "type": "array"
        },
        "responseRequired": {
          "description": "Indicates whether a response is required for this message.",
          "$ref": "#/definitions/boolean"
        },
        "_responseRequired": {
          "description": "Extensions for responseRequired",
          "$ref": "#/definitions/Element"
        },
        "allowedResponse": {
          "description": "Indicates what types of messages may be sent as an application-level response to this message.",
          "items": {
            "$ref": "#/definitions/MessageDefinition_AllowedResponse"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "MessageDefinition_Focus": {
      "description": "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The kind of resource that must be the focus for this message.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "A profile that reflects constraints for the focal resource (and potentially for related resources).",
          "$ref": "#/definitions/Reference"
        },
        "min": {
          "description": "Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.",
          "$ref": "#/definitions/unsignedInt"
        },
        "_min": {
          "description": "Extensions for min",
          "$ref": "#/definitions/Element"
        },
        "max": {
          "description": "Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.",
          "$ref": "#/definitions/string"
        },
        "_max": {
          "description": "Extensions for max",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "MessageDefinition_AllowedResponse": {
      "description": "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "message": {
          "description": "A reference to the message definition that must be adhered to by this supported response.",
          "$ref": "#/definitions/Reference"
        },
        "situation": {
          "description": "Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).",
          "$ref": "#/definitions/markdown"
        },
        "_situation": {
          "description": "Extensions for situation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "message"
      ]
    },
    "MessageHeader": {
      "description": "The header for a message exchange that is either requesting or responding to an action.  The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.",
      "properties": {
        "resourceType": {
          "description": "This is a MessageHeader resource",
          "const": "MessageHeader"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "eventCoding": {
          "description": "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://hl7.org/fhir/message-events\".  Alternatively uri to the EventDefinition.",
          "$ref": "#/definitions/Coding"
        },
        "eventUri": {
          "description": "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://hl7.org/fhir/message-events\".  Alternatively uri to the EventDefinition.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_eventUri": {
          "description": "Extensions for eventUri",
          "$ref": "#/definitions/Element"
        },
        "destination": {
          "description": "The destination application which the message is intended for.",
          "items": {
            "$ref": "#/definitions/MessageHeader_Destination"
          },
          "type": "array"
        },
        "sender": {
          "description": "Identifies the sending system to allow the use of a trust relationship.",
          "$ref": "#/definitions/Reference"
        },
        "enterer": {
          "description": "The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.",
          "$ref": "#/definitions/Reference"
        },
        "author": {
          "description": "The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.",
          "$ref": "#/definitions/Reference"
        },
        "source": {
          "description": "The source application from which this message originated.",
          "$ref": "#/definitions/MessageHeader_Source"
        },
        "responsible": {
          "description": "The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.",
          "$ref": "#/definitions/Reference"
        },
        "reason": {
          "description": "Coded indication of the cause for the event - indicates  a reason for the occurrence of the event that is a focus of this message.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "response": {
          "description": "Information about the message that this message is a response to.  Only present if this message is a response.",
          "$ref": "#/definitions/MessageHeader_Response"
        },
        "focus": {
          "description": "The actual data of the message - a reference to the root/focus class of the event.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "definition": {
          "description": "Permanent link to the MessageDefinition for this message.",
          "$ref": "#/definitions/uri"
        },
        "_definition": {
          "description": "Extensions for definition",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "source",
        "resourceType"
      ]
    },
    "MessageHeader_Destination": {
      "description": "The header for a message exchange that is either requesting or responding to an action.  The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Human-readable name for the target system.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "target": {
          "description": "Identifies the target end system in situations where the initial message transmission is to an intermediary system.",
          "$ref": "#/definitions/Reference"
        },
        "endpoint": {
          "description": "Indicates where the message should be routed to.",
          "$ref": "#/definitions/uri"
        },
        "_endpoint": {
          "description": "Extensions for endpoint",
          "$ref": "#/definitions/Element"
        },
        "receiver": {
          "description": "Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn\u0027t sufficient.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "MessageHeader_Source": {
      "description": "The header for a message exchange that is either requesting or responding to an action.  The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Human-readable name for the source system.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "software": {
          "description": "May include configuration or other information useful in debugging.",
          "$ref": "#/definitions/string"
        },
        "_software": {
          "description": "Extensions for software",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "Can convey versions of multiple systems in situations where a message passes through multiple hands.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "An e-mail, phone, website or other contact point to use to resolve issues with message communications.",
          "$ref": "#/definitions/ContactPoint"
        },
        "endpoint": {
          "description": "Identifies the routing target to send acknowledgements to.",
          "$ref": "#/definitions/uri"
        },
        "_endpoint": {
          "description": "Extensions for endpoint",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "MessageHeader_Response": {
      "description": "The header for a message exchange that is either requesting or responding to an action.  The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The MessageHeader.id of the message to which this message is a response.",
          "$ref": "#/definitions/id"
        },
        "_identifier": {
          "description": "Extensions for identifier",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not.",
          "enum": [
            "ok",
            "transient-error",
            "fatal-error"
          ]
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "details": {
          "description": "Full details of any issues found in the message.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "NamingSystem": {
      "description": "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc.  Represents a \"System\" used within the Identifier and Coding data types.",
      "properties": {
        "resourceType": {
          "description": "This is a NamingSystem resource",
          "const": "NamingSystem"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this naming system. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "kind": {
          "description": "Indicates the purpose for the naming system - what kinds of things does it make unique?",
          "enum": [
            "codesystem",
            "identifier",
            "root"
          ]
        },
        "_kind": {
          "description": "Extensions for kind",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the naming system was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the naming system changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the naming system.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "responsible": {
          "description": "The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.",
          "$ref": "#/definitions/string"
        },
        "_responsible": {
          "description": "Extensions for responsible",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Categorizes a naming system for easier search by grouping related naming systems.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "A free text natural language description of the naming system from a consumer\u0027s perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate naming system instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the naming system is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "usage": {
          "description": "Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.",
          "$ref": "#/definitions/string"
        },
        "_usage": {
          "description": "Extensions for usage",
          "$ref": "#/definitions/Element"
        },
        "uniqueId": {
          "description": "Indicates how the system may be identified when referenced in electronic exchange.",
          "items": {
            "$ref": "#/definitions/NamingSystem_UniqueId"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "uniqueId",
        "resourceType"
      ]
    },
    "NamingSystem_UniqueId": {
      "description": "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc.  Represents a \"System\" used within the Identifier and Coding data types.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Identifies the unique identifier scheme used for this particular identifier.",
          "enum": [
            "oid",
            "uuid",
            "uri",
            "other"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The string that should be sent over the wire to identify the code system or identifier system.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "preferred": {
          "description": "Indicates whether this identifier is the \"preferred\" identifier of this type.",
          "$ref": "#/definitions/boolean"
        },
        "_preferred": {
          "description": "Extensions for preferred",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Notes about the past or intended usage of this identifier.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "Identifies the period of time over which this identifier is considered appropriate to refer to the naming system.  Outside of this window, the identifier might be non-deterministic.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "NutritionOrder": {
      "description": "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.",
      "properties": {
        "resourceType": {
          "description": "This is a NutritionOrder resource",
          "const": "NutritionOrder"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifiers assigned to this order by the order sender or by the order receiver.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The workflow status of the nutrition order/request.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "intent": {
          "description": "Indicates the level of authority/intentionality associated with the {{title}} and where the request fits into the workflow chain.",
          "$ref": "#/definitions/code"
        },
        "_intent": {
          "description": "Extensions for intent",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.",
          "$ref": "#/definitions/Reference"
        },
        "encounter": {
          "description": "An encounter that provides additional information about the healthcare context in which this request is made.",
          "$ref": "#/definitions/Reference"
        },
        "dateTime": {
          "description": "The date and time that this nutrition order was requested.",
          "$ref": "#/definitions/dateTime"
        },
        "_dateTime": {
          "description": "Extensions for dateTime",
          "$ref": "#/definitions/Element"
        },
        "orderer": {
          "description": "The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings.",
          "$ref": "#/definitions/Reference"
        },
        "allergyIntolerance": {
          "description": "A link to a record of allergies or intolerances  which should be included in the nutrition order.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "foodPreferenceModifier": {
          "description": "This modifier is used to convey order-specific modifiers about the type of food that should be given. These can be derived from patient allergies, intolerances, or preferences such as Halal, Vegan or Kosher. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "excludeFoodModifier": {
          "description": "This modifier is used to convey Order-specific modifier about the type of oral food or oral fluids that should not be given. These can be derived from patient allergies, intolerances, or preferences such as No Red Meat, No Soy or No Wheat or  Gluten-Free.  While it should not be necessary to repeat allergy or intolerance information captured in the referenced AllergyIntolerance resource in the excludeFoodModifier, this element may be used to convey additional specificity related to foods that should be eliminated from the patient’s diet for any reason.  This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "oralDiet": {
          "description": "Diet given orally in contrast to enteral (tube) feeding.",
          "$ref": "#/definitions/NutritionOrder_OralDiet"
        },
        "supplement": {
          "description": "Oral nutritional products given in order to add further nutritional value to the patient\u0027s diet.",
          "items": {
            "$ref": "#/definitions/NutritionOrder_Supplement"
          },
          "type": "array"
        },
        "enteralFormula": {
          "description": "Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity.",
          "$ref": "#/definitions/NutritionOrder_EnteralFormula"
        },
        "note": {
          "description": "Comments made about the {{title}} by the requester, performer, subject or other participants.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "patient",
        "resourceType"
      ]
    },
    "NutritionOrder_OralDiet": {
      "description": "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "schedule": {
          "description": "The time period and frequency at which the diet should be given.  The diet should be given for the combination of all schedules if more than one schedule is present.",
          "items": {
            "$ref": "#/definitions/Timing"
          },
          "type": "array"
        },
        "nutrient": {
          "description": "Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet.",
          "items": {
            "$ref": "#/definitions/NutritionOrder_Nutrient"
          },
          "type": "array"
        },
        "texture": {
          "description": "Class that describes any texture modifications required for the patient to safely consume various types of solid foods.",
          "items": {
            "$ref": "#/definitions/NutritionOrder_Texture"
          },
          "type": "array"
        },
        "fluidConsistencyType": {
          "description": "The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "instruction": {
          "description": "Free text or additional instructions or information pertaining to the oral diet.",
          "$ref": "#/definitions/string"
        },
        "_instruction": {
          "description": "Extensions for instruction",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "NutritionOrder_Nutrient": {
      "description": "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifier": {
          "description": "The nutrient that is being modified such as carbohydrate or sodium.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "amount": {
          "description": "The quantity of the specified nutrient to include in diet.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false
    },
    "NutritionOrder_Texture": {
      "description": "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifier": {
          "description": "Any texture modifications (for solid foods) that should be made, e.g. easy to chew, chopped, ground, and pureed.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "foodType": {
          "description": "The food type(s) (e.g. meats, all foods)  that the texture modification applies to.  This could be all foods types.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "NutritionOrder_Supplement": {
      "description": "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "productName": {
          "description": "The product or brand name of the nutritional supplement such as \"Acme Protein Shake\".",
          "$ref": "#/definitions/string"
        },
        "_productName": {
          "description": "Extensions for productName",
          "$ref": "#/definitions/Element"
        },
        "schedule": {
          "description": "The time period and frequency at which the supplement(s) should be given.  The supplement should be given for the combination of all schedules if more than one schedule is present.",
          "items": {
            "$ref": "#/definitions/Timing"
          },
          "type": "array"
        },
        "quantity": {
          "description": "The amount of the nutritional supplement to be given.",
          "$ref": "#/definitions/Quantity"
        },
        "instruction": {
          "description": "Free text or additional instructions or information pertaining to the oral supplement.",
          "$ref": "#/definitions/string"
        },
        "_instruction": {
          "description": "Extensions for instruction",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "NutritionOrder_EnteralFormula": {
      "description": "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "baseFormulaType": {
          "description": "The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "baseFormulaProductName": {
          "description": "The product or brand name of the enteral or infant formula product such as \"ACME Adult Standard Formula\".",
          "$ref": "#/definitions/string"
        },
        "_baseFormulaProductName": {
          "description": "Extensions for baseFormulaProductName",
          "$ref": "#/definitions/Element"
        },
        "additiveType": {
          "description": "Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "additiveProductName": {
          "description": "The product or brand name of the type of modular component to be added to the formula.",
          "$ref": "#/definitions/string"
        },
        "_additiveProductName": {
          "description": "Extensions for additiveProductName",
          "$ref": "#/definitions/Element"
        },
        "caloricDensity": {
          "description": "The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz.  For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL.",
          "$ref": "#/definitions/Quantity"
        },
        "routeofAdministration": {
          "description": "The route or physiological path of administration into the patient\u0027s gastrointestinal  tract for purposes of providing the formula feeding, e.g. nasogastric tube.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "administration": {
          "description": "Formula administration instructions as structured data.  This repeating structure allows for changing the administration rate or volume over time for both bolus and continuous feeding.  An example of this would be an instruction to increase the rate of continuous feeding every 2 hours.",
          "items": {
            "$ref": "#/definitions/NutritionOrder_Administration"
          },
          "type": "array"
        },
        "maxVolumeToDeliver": {
          "description": "The maximum total quantity of formula that may be administered to a subject over the period of time, e.g. 1440 mL over 24 hours.",
          "$ref": "#/definitions/Quantity"
        },
        "administrationInstruction": {
          "description": "Free text formula administration, feeding instructions or additional instructions or information.",
          "$ref": "#/definitions/string"
        },
        "_administrationInstruction": {
          "description": "Extensions for administrationInstruction",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "NutritionOrder_Administration": {
      "description": "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "schedule": {
          "description": "The time period and frequency at which the enteral formula should be delivered to the patient.",
          "$ref": "#/definitions/Timing"
        },
        "quantity": {
          "description": "The volume of formula to provide to the patient per the specified administration schedule.",
          "$ref": "#/definitions/Quantity"
        },
        "rateQuantity": {
          "description": "The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule.",
          "$ref": "#/definitions/Quantity"
        },
        "rateRatio": {
          "description": "The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule.",
          "$ref": "#/definitions/Ratio"
        }
      },
      "additionalProperties": false
    },
    "Observation": {
      "description": "Measurements and simple assertions made about a patient, device or other subject.",
      "properties": {
        "resourceType": {
          "description": "This is a Observation resource",
          "const": "Observation"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A unique identifier assigned to this observation.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "partOf": {
          "description": "A larger event of which this particular Observation is a component or step.  For example,  an observation as part of a procedure.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the result value.",
          "enum": [
            "registered",
            "preliminary",
            "final",
            "amended",
            "corrected",
            "cancelled",
            "entered-in-error",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "A code that classifies the general type of observation being made.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "code": {
          "description": "Describes what was observed. Sometimes this is called the observation \"name\".",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
          "$ref": "#/definitions/Reference"
        },
        "effectiveDateTime": {
          "description": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_effectiveDateTime": {
          "description": "Extensions for effectiveDateTime",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.",
          "$ref": "#/definitions/Period"
        },
        "effectiveTiming": {
          "description": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.",
          "$ref": "#/definitions/Timing"
        },
        "issued": {
          "description": "The date and time this version of the observation was made available to providers, typically after the results have been reviewed and verified.",
          "$ref": "#/definitions/instant"
        },
        "_issued": {
          "description": "Extensions for issued",
          "$ref": "#/definitions/Element"
        },
        "performer": {
          "description": "Who was responsible for asserting the observed value as \"true\".",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "valueQuantity": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/Quantity"
        },
        "valueCodeableConcept": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueString": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueBoolean": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueRange": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/Range"
        },
        "valueRatio": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/Ratio"
        },
        "valueSampledData": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/SampledData"
        },
        "valueTime": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_valueTime": {
          "description": "Extensions for valueTime",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        },
        "valuePeriod": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/Period"
        },
        "dataAbsentReason": {
          "description": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "interpretation": {
          "description": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "comment": {
          "description": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "bodySite": {
          "description": "Indicates the site on the subject\u0027s body where the observation was made (i.e. the target site).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "method": {
          "description": "Indicates the mechanism used to perform the observation.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "specimen": {
          "description": "The specimen that was used when this observation was made.",
          "$ref": "#/definitions/Reference"
        },
        "device": {
          "description": "The device used to generate the observation data.",
          "$ref": "#/definitions/Reference"
        },
        "referenceRange": {
          "description": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
          "items": {
            "$ref": "#/definitions/Observation_ReferenceRange"
          },
          "type": "array"
        },
        "hasMember": {
          "description": "This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "derivedFrom": {
          "description": "The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "component": {
          "description": "Some observations have multiple component observations.  These component observations are expressed as separate code value pairs that share the same attributes.  Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.",
          "items": {
            "$ref": "#/definitions/Observation_Component"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "code",
        "resourceType"
      ]
    },
    "Observation_ReferenceRange": {
      "description": "Measurements and simple assertions made about a patient, device or other subject.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "low": {
          "description": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is \u003e\u003d5 - \u003c\u003d9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is \u003c\u003d2.3).",
          "$ref": "#/definitions/Quantity"
        },
        "high": {
          "description": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is \u003e\u003d5 - \u003c\u003d9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is \u003e\u003d 2.3).",
          "$ref": "#/definitions/Quantity"
        },
        "type": {
          "description": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "appliesTo": {
          "description": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "age": {
          "description": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
          "$ref": "#/definitions/Range"
        },
        "text": {
          "description": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of \u0027normals\u0027.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Observation_Component": {
      "description": "Measurements and simple assertions made about a patient, device or other subject.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Describes what was observed. Sometimes this is called the observation \"code\".",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueQuantity": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/Quantity"
        },
        "valueCodeableConcept": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueString": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueBoolean": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueRange": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/Range"
        },
        "valueRatio": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/Ratio"
        },
        "valueSampledData": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/SampledData"
        },
        "valueTime": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_valueTime": {
          "description": "Extensions for valueTime",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        },
        "valuePeriod": {
          "description": "The information determined as a result of making the observation, if the information has a simple value.",
          "$ref": "#/definitions/Period"
        },
        "dataAbsentReason": {
          "description": "Provides a reason why the expected value in the element Observation.component.value[x] is missing.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "interpretation": {
          "description": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "referenceRange": {
          "description": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
          "items": {
            "$ref": "#/definitions/Observation_ReferenceRange"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "ObservationDefinition": {
      "description": "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.",
      "properties": {
        "resourceType": {
          "description": "This is a ObservationDefinition resource",
          "const": "ObservationDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "category": {
          "description": "A code that classifies the general type of observation.",
          "$ref": "#/definitions/Coding"
        },
        "code": {
          "description": "Describes what will be observed. Sometimes this is called the observation \"name\".",
          "$ref": "#/definitions/Coding"
        },
        "permittedDataType": {
          "description": "Data type allowed for the result of the observation.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "multipleResultsAllowed": {
          "description": "Multiple results allowed for this kind of observation.",
          "$ref": "#/definitions/boolean"
        },
        "_multipleResultsAllowed": {
          "description": "Extensions for multipleResultsAllowed",
          "$ref": "#/definitions/Element"
        },
        "method": {
          "description": "The method or technique used to perform the observation.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "preferredReportName": {
          "description": "The preferred name to be used when reporting the results of this observation.",
          "$ref": "#/definitions/string"
        },
        "_preferredReportName": {
          "description": "Extensions for preferredReportName",
          "$ref": "#/definitions/Element"
        },
        "quantitativeDetails": {
          "description": "Characteristics for quantitative results of this observation.",
          "$ref": "#/definitions/ObservationDefinition_QuantitativeDetails"
        },
        "qualifiedInterval": {
          "description": "Reference range for ordinal and continuous observations.",
          "items": {
            "$ref": "#/definitions/ObservationDefinition_QualifiedInterval"
          },
          "type": "array"
        },
        "validCodedValueSet": {
          "description": "The set of valid coded results for the observation.",
          "$ref": "#/definitions/uri"
        },
        "_validCodedValueSet": {
          "description": "Extensions for validCodedValueSet",
          "$ref": "#/definitions/Element"
        },
        "normalCodedValueSet": {
          "description": "The set of normal coded results for the observation.",
          "$ref": "#/definitions/uri"
        },
        "_normalCodedValueSet": {
          "description": "Extensions for normalCodedValueSet",
          "$ref": "#/definitions/Element"
        },
        "abnormalCodedValueSet": {
          "description": "The set of abnormal coded results for the observation.",
          "$ref": "#/definitions/uri"
        },
        "_abnormalCodedValueSet": {
          "description": "Extensions for abnormalCodedValueSet",
          "$ref": "#/definitions/Element"
        },
        "criticalCodedValueSet": {
          "description": "The set of critical coded results for the observation.",
          "$ref": "#/definitions/uri"
        },
        "_criticalCodedValueSet": {
          "description": "Extensions for criticalCodedValueSet",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "code",
        "resourceType"
      ]
    },
    "ObservationDefinition_QuantitativeDetails": {
      "description": "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "customaryUnit": {
          "description": "Customary unit used to report quantitative results of this observation.",
          "$ref": "#/definitions/Coding"
        },
        "unit": {
          "description": "SI unit used to report quantitative results of this observation.",
          "$ref": "#/definitions/Coding"
        },
        "conversionFactor": {
          "description": "Factor for converting value expressed with SI unit to value expressed with customary unit.",
          "$ref": "#/definitions/decimal"
        },
        "_conversionFactor": {
          "description": "Extensions for conversionFactor",
          "$ref": "#/definitions/Element"
        },
        "decimalPrecision": {
          "description": "Number of digits after decimal separator when the results of this observation are of type Quantity.",
          "$ref": "#/definitions/integer"
        },
        "_decimalPrecision": {
          "description": "Extensions for decimalPrecision",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ObservationDefinition_QualifiedInterval": {
      "description": "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "category": {
          "description": "The category or type of interval.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "range": {
          "description": "The value and associated unit of the low bound (inclusive) of the reference range.",
          "$ref": "#/definitions/Range"
        },
        "type": {
          "description": "Codes to indicate what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "appliesTo": {
          "description": "Codes to indicate the target population this reference range applies to.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "age": {
          "description": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
          "$ref": "#/definitions/Range"
        },
        "gestationalAge": {
          "description": "The gestational age at which this reference range is applicable, in the context of pregnancy.",
          "$ref": "#/definitions/Range"
        },
        "condition": {
          "description": "Text based condition for which the reference range is valid.",
          "$ref": "#/definitions/string"
        },
        "_condition": {
          "description": "Extensions for condition",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "OccupationalData": {
      "description": "A person\u0027s work information, structured to facilitate individual, population, and public health use; not intended to support billing.",
      "properties": {
        "resourceType": {
          "description": "This is a OccupationalData resource",
          "const": "OccupationalData"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Business identifier assigned to the occupational data record.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "The status of this {{title}}. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "subject": {
          "description": "The occupational data record is about this person (e.g., the patient, a parent of a minor child).",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The date of creation or updating of the occupational data record.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "author": {
          "description": "The person who created or last updated the occupational data record.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "employmentStatus": {
          "description": "A person’s current economic relationship to a job. Employment status refers to whether a person is currently working for compensation, is unemployed (i.e., searching for work for compensation), or is not in the labor force (e.g. disabled, homemaker, chooses not to work, etc.). Employment status is not the same as classification of work.",
          "$ref": "#/definitions/OccupationalData_EmploymentStatus"
        },
        "retirementDate": {
          "description": "A person\u0027s self-identified retirement date.  A person may retire multiple times.",
          "items": {
            "$ref": "#/definitions/dateTime"
          },
          "type": "array"
        },
        "_retirementDate": {
          "description": "Extensions for retirementDate",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "combatZoneWork": {
          "description": "The start and end dates for the period of time a person\u0027s work is or was in a combat zone. In addition to military personnel, civilians also may work or have worked in a combat zone.",
          "items": {
            "$ref": "#/definitions/Period"
          },
          "type": "array"
        },
        "usualWork": {
          "description": "The type of work a person has held for the longest amount of time during his or her life, regardless of the occupation currently held and regardless of whether or not it has been held for a continuous time.",
          "$ref": "#/definitions/OccupationalData_UsualWork"
        },
        "pastOrPresentJob": {
          "description": "The type of work done by a person during a current or past job. A job is defined by the sum of all the data related to the occupation. A change in occupation, supervisory level, industry, employer, or employer location is considered a new job.",
          "items": {
            "$ref": "#/definitions/OccupationalData_PastOrPresentJob"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "OccupationalData_EmploymentStatus": {
      "description": "A person\u0027s work information, structured to facilitate individual, population, and public health use; not intended to support billing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code that represents a person’s current economic relationship to a job.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "effectiveDateTime": {
          "description": "The start and end dates for a person\u0027s current economic relationship to a job.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_effectiveDateTime": {
          "description": "Extensions for effectiveDateTime",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The start and end dates for a person\u0027s current economic relationship to a job.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "OccupationalData_UsualWork": {
      "description": "A person\u0027s work information, structured to facilitate individual, population, and public health use; not intended to support billing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "occupation": {
          "description": "A code that represents the type of work a person has held for the longest amount of time during his or her life.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "industry": {
          "description": "A code that represents the type of business a person has worked in for the longest total time while in the usual occupation.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "start": {
          "description": "The date when a person first started working in their usual occupation.",
          "$ref": "#/definitions/dateTime"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "duration": {
          "description": "Total of all periods of time a person has spent in the usual occupation, not including intermittent period(s) where the person was not working in that occupation.",
          "$ref": "#/definitions/Duration"
        }
      },
      "additionalProperties": false,
      "required": [
        "occupation",
        "industry"
      ]
    },
    "OccupationalData_PastOrPresentJob": {
      "description": "A person\u0027s work information, structured to facilitate individual, population, and public health use; not intended to support billing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "occupation": {
          "description": "A code that represents the type of work done by a person at one job.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "industry": {
          "description": "A code that represents the type of business associated with a person\u0027s Past Or Present Job; i.e., for one job. A change in industry indicates a change in job.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "effectiveDateTime": {
          "description": "The start and end dates for one job.  A change in occupation, supervisory level, industry, employer, or employer location is considered a new job.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_effectiveDateTime": {
          "description": "Extensions for effectiveDateTime",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The start and end dates for one job.  A change in occupation, supervisory level, industry, employer, or employer location is considered a new job.",
          "$ref": "#/definitions/Period"
        },
        "employer": {
          "description": "The party, be it an individual or an organization, responsible for providing compensation to a person performing work, or in the case of unpaid work, the party responsible for engaging the person in a position. For military occupations, this refers to the name of the person\u0027s military home base; the person\u0027s Branch of Service is recorded as industry. A change in employer or employer location indicates a change in job.",
          "$ref": "#/definitions/Reference"
        },
        "workClassification": {
          "description": "The classification of a person\u0027s job (one job) as defined by compensation and sector (e.g. paid, unpaid, self-employed, government, etc.). This is different from employment status: a person who is a volunteer (work classification) may have chosen not to be in the labor force (employment status).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "supervisoryLevel": {
          "description": "Reflects the amount of supervisory or management responsibilities of a person at one job. For military jobs, pay grade is used as a proxy because it can be interpreted across branches of service.  A change in supervisory level is considered a new job.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "jobDuty": {
          "description": "A regular action performed at a single job.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_jobDuty": {
          "description": "Extensions for jobDuty",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "occupationalHazard": {
          "description": "A hazard that is specific to a person\u0027s work or work environment for a single job and with which the person might come in contact. A hazard is a source of potential harm to an individual\u0027s physical or mental health (e.g., biological, chemical, physical, psychological, radiological).",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_occupationalHazard": {
          "description": "Extensions for occupationalHazard",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "workSchedule": {
          "description": "Describes a person\u0027s typical arrangement of working hours for one job.",
          "$ref": "#/definitions/OccupationalData_WorkSchedule"
        }
      },
      "additionalProperties": false,
      "required": [
        "occupation",
        "industry"
      ]
    },
    "OccupationalData_WorkSchedule": {
      "description": "A person\u0027s work information, structured to facilitate individual, population, and public health use; not intended to support billing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code that represents a person\u0027s typical arrangement of working hours for one job.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "weeklyWorkDays": {
          "description": "The typical number of days worked in a week by a person at one job.",
          "$ref": "#/definitions/decimal"
        },
        "_weeklyWorkDays": {
          "description": "Extensions for weeklyWorkDays",
          "$ref": "#/definitions/Element"
        },
        "dailyWorkHours": {
          "description": "The number of hours worked in a day or shift at one job by a person. For those working a split shift (divided into two parts that are separated by an interval longer than a normal rest period), it is the total of both periods of time in a shift.",
          "$ref": "#/definitions/decimal"
        },
        "_dailyWorkHours": {
          "description": "Extensions for dailyWorkHours",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "OperationDefinition": {
      "description": "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).",
      "properties": {
        "resourceType": {
          "description": "This is a OperationDefinition resource",
          "const": "OperationDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this operation definition is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the operation definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the operation definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the operation definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this operation definition. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "kind": {
          "description": "Whether this is an operation or a named query.",
          "enum": [
            "operation",
            "query"
          ]
        },
        "_kind": {
          "description": "Extensions for kind",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the operation definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the operation definition changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the operation definition.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the operation definition from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate operation definition instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the operation definition is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this operation definition is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "affectsState": {
          "description": "Operations that have affects state \u003d false (see [HTTP specification definition of idempotent](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)) may be invoked by performing an HTTP GET operation instead of a POST.",
          "$ref": "#/definitions/boolean"
        },
        "_affectsState": {
          "description": "Extensions for affectsState",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "The name used to invoke the operation.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Additional information about how to use this operation or named query.",
          "$ref": "#/definitions/markdown"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "base": {
          "description": "Indicates that this operation definition is a constraining profile on the base.",
          "$ref": "#/definitions/Reference"
        },
        "resource": {
          "description": "The types on which this operation can be executed.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_resource": {
          "description": "Extensions for resource",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "system": {
          "description": "Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context).",
          "$ref": "#/definitions/boolean"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context).",
          "$ref": "#/definitions/boolean"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "instance": {
          "description": "Indicates whether this operation can be invoked on a particular instance of one of the given types.",
          "$ref": "#/definitions/boolean"
        },
        "_instance": {
          "description": "Extensions for instance",
          "$ref": "#/definitions/Element"
        },
        "inputProfile": {
          "description": "Additional validation information for the in parameters. The profile is a constraint on the parameters resource.",
          "$ref": "#/definitions/Reference"
        },
        "outputProfile": {
          "description": "Additional validation information for the out parameters. The profile is a constraint on the parameters resource.",
          "$ref": "#/definitions/Reference"
        },
        "parameter": {
          "description": "The parameters for the operation/query.",
          "items": {
            "$ref": "#/definitions/OperationDefinition_Parameter"
          },
          "type": "array"
        },
        "overload": {
          "description": "Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.",
          "items": {
            "$ref": "#/definitions/OperationDefinition_Overload"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "OperationDefinition_Parameter": {
      "description": "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of used to identify the parameter.",
          "$ref": "#/definitions/code"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "use": {
          "description": "Whether this is an input or an output parameter.",
          "enum": [
            "in",
            "out"
          ]
        },
        "_use": {
          "description": "Extensions for use",
          "$ref": "#/definitions/Element"
        },
        "min": {
          "description": "The minimum number of times this parameter SHALL appear in the request or response.",
          "$ref": "#/definitions/integer"
        },
        "_min": {
          "description": "Extensions for min",
          "$ref": "#/definitions/Element"
        },
        "max": {
          "description": "The maximum number of times this element is permitted to appear in the request or response.",
          "$ref": "#/definitions/string"
        },
        "_max": {
          "description": "Extensions for max",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "Describes the meaning or use of this parameter.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type for this parameter.",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "targetProfile": {
          "description": "If the type is \"Reference\", then targetProfile lists a one or more profiles that the Reference can refer to.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_targetProfile": {
          "description": "Extensions for targetProfile",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "searchType": {
          "description": "How the parameter is understood as a search parameter. This is only used if the parameter type is \u0027string\u0027.",
          "enum": [
            "number",
            "date",
            "string",
            "token",
            "reference",
            "composite",
            "quantity",
            "uri"
          ]
        },
        "_searchType": {
          "description": "Extensions for searchType",
          "$ref": "#/definitions/Element"
        },
        "binding": {
          "description": "Binds to a value set if this parameter is coded (code, Coding, CodeableConcept).",
          "$ref": "#/definitions/OperationDefinition_Binding"
        },
        "part": {
          "description": "The parts of a nested Parameter.",
          "items": {
            "$ref": "#/definitions/OperationDefinition_Parameter"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "OperationDefinition_Binding": {
      "description": "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "strength": {
          "description": "Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances.",
          "enum": [
            "required",
            "extensible",
            "preferred",
            "example"
          ]
        },
        "_strength": {
          "description": "Extensions for strength",
          "$ref": "#/definitions/Element"
        },
        "valueSetUri": {
          "description": "Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueSetUri": {
          "description": "Extensions for valueSetUri",
          "$ref": "#/definitions/Element"
        },
        "valueSetReference": {
          "description": "Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "OperationDefinition_Overload": {
      "description": "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "parameterName": {
          "description": "Name of parameter to include in overload.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_parameterName": {
          "description": "Extensions for parameterName",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "comment": {
          "description": "Comments to go on overload.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "OperationOutcome": {
      "description": "A collection of error, warning or information messages that result from a system action.",
      "properties": {
        "resourceType": {
          "description": "This is a OperationOutcome resource",
          "const": "OperationOutcome"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "issue": {
          "description": "An error, warning or information message that results from a system action.",
          "items": {
            "$ref": "#/definitions/OperationOutcome_Issue"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "issue",
        "resourceType"
      ]
    },
    "OperationOutcome_Issue": {
      "description": "A collection of error, warning or information messages that result from a system action.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "severity": {
          "description": "Indicates whether the issue indicates a variation from successful processing.",
          "enum": [
            "fatal",
            "error",
            "warning",
            "information"
          ]
        },
        "_severity": {
          "description": "Extensions for severity",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element.",
          "enum": [
            "invalid",
            "structure",
            "required",
            "value",
            "invariant",
            "security",
            "login",
            "unknown",
            "expired",
            "forbidden",
            "suppressed",
            "processing",
            "not-supported",
            "duplicate",
            "not-found",
            "too-long",
            "code-invalid",
            "extension",
            "too-costly",
            "business-rule",
            "conflict",
            "incomplete",
            "transient",
            "lock-error",
            "no-store",
            "exception",
            "timeout",
            "throttled",
            "informational"
          ]
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "details": {
          "description": "Additional details about the error. This may be a text description of the error, or a system code that identifies the error.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "diagnostics": {
          "description": "Additional diagnostic information about the issue.  Typically, this may be a description of how a value is erroneous, or a stack dump to help trace the issue.",
          "$ref": "#/definitions/string"
        },
        "_diagnostics": {
          "description": "Extensions for diagnostics",
          "$ref": "#/definitions/Element"
        },
        "location": {
          "description": "For resource issues, this will be a simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised.  For HTTP errors, will be \"http.\" + the parameter name.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_location": {
          "description": "Extensions for location",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "expression": {
          "description": "A simple FHIRPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_expression": {
          "description": "Extensions for expression",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Organization": {
      "description": "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.",
      "properties": {
        "resourceType": {
          "description": "This is a Organization resource",
          "const": "Organization"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier for the organization that is used to identify the organization across multiple disparate systems.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "Whether the organization\u0027s record is still in active use.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The kind(s) of organization that this is.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "name": {
          "description": "A name associated with the organization.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "alias": {
          "description": "A list of alternate names that the organization is known as, or was known as in the past.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_alias": {
          "description": "Extensions for alias",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "telecom": {
          "description": "A contact detail for the organization.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "address": {
          "description": "An address for the organization.",
          "items": {
            "$ref": "#/definitions/Address"
          },
          "type": "array"
        },
        "partOf": {
          "description": "The organization of which this organization forms a part.",
          "$ref": "#/definitions/Reference"
        },
        "contact": {
          "description": "Contact for the organization for a certain purpose.",
          "items": {
            "$ref": "#/definitions/Organization_Contact"
          },
          "type": "array"
        },
        "endpoint": {
          "description": "Technical endpoints providing access to services operated for the organization.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Organization_Contact": {
      "description": "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Indicates a purpose for which the contact can be reached.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "name": {
          "description": "A name associated with the contact.",
          "$ref": "#/definitions/HumanName"
        },
        "telecom": {
          "description": "A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "address": {
          "description": "Visiting or postal addresses for the contact.",
          "$ref": "#/definitions/Address"
        }
      },
      "additionalProperties": false
    },
    "OrganizationRole": {
      "description": "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.",
      "properties": {
        "resourceType": {
          "description": "This is a OrganizationRole resource",
          "const": "OrganizationRole"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Business Identifiers that are specific to a role/location.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "Whether this practitioner role record is in active use.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The period during which the person is authorized to act as a practitioner in these role(s) for the organization.",
          "$ref": "#/definitions/Period"
        },
        "organization": {
          "description": "The organization where the Practitioner performs the roles associated.",
          "$ref": "#/definitions/Reference"
        },
        "participatingOrganization": {
          "description": "Practitioner that is able to provide the defined services for the organization.",
          "$ref": "#/definitions/Reference"
        },
        "network": {
          "description": "The network(s) this association applies to (if any).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "code": {
          "description": "Roles which this practitioner is authorized to perform for the organization.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specialty": {
          "description": "Specific specialty of the practitioner.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "location": {
          "description": "The location(s) at which this practitioner provides care.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "healthcareService": {
          "description": "The list of healthcare services that this worker provides for this role\u0027s Organization/Location(s).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "telecom": {
          "description": "Contact details that are specific to the role/location/service.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "availableTime": {
          "description": "A collection of times that the Service Site is available.",
          "items": {
            "$ref": "#/definitions/OrganizationRole_AvailableTime"
          },
          "type": "array"
        },
        "notAvailable": {
          "description": "The HealthcareService is not available during this period of time due to the provided reason.",
          "items": {
            "$ref": "#/definitions/OrganizationRole_NotAvailable"
          },
          "type": "array"
        },
        "availabilityExceptions": {
          "description": "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.",
          "$ref": "#/definitions/string"
        },
        "_availabilityExceptions": {
          "description": "Extensions for availabilityExceptions",
          "$ref": "#/definitions/Element"
        },
        "endpoint": {
          "description": "Technical endpoints providing access to services operated for the practitioner with this role.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "OrganizationRole_AvailableTime": {
      "description": "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "daysOfWeek": {
          "description": "Indicates which days of the week are available between the start and end Times.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_daysOfWeek": {
          "description": "Extensions for daysOfWeek",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "allDay": {
          "description": "Is this always available? (hence times are irrelevant) e.g. 24 hour service.",
          "$ref": "#/definitions/boolean"
        },
        "_allDay": {
          "description": "Extensions for allDay",
          "$ref": "#/definitions/Element"
        },
        "availableStartTime": {
          "description": "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.",
          "$ref": "#/definitions/time"
        },
        "_availableStartTime": {
          "description": "Extensions for availableStartTime",
          "$ref": "#/definitions/Element"
        },
        "availableEndTime": {
          "description": "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.",
          "$ref": "#/definitions/time"
        },
        "_availableEndTime": {
          "description": "Extensions for availableEndTime",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "OrganizationRole_NotAvailable": {
      "description": "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "The reason that can be presented to the user as to why this time is not available.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "during": {
          "description": "Service is not available (seasonally or for a public holiday) from this date.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "Parameters": {
      "description": "This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it.",
      "properties": {
        "resourceType": {
          "description": "This is a Parameters resource",
          "const": "Parameters"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "parameter": {
          "description": "A parameter passed to or received from the operation.",
          "items": {
            "$ref": "#/definitions/Parameters_Parameter"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Parameters_Parameter": {
      "description": "This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of the parameter (reference to the operation definition).",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "valueBoolean": {
          "description": "If the parameter is a data type.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "If the parameter is a data type.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueDecimal": {
          "description": "If the parameter is a data type.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_valueDecimal": {
          "description": "Extensions for valueDecimal",
          "$ref": "#/definitions/Element"
        },
        "valueBase64Binary": {
          "description": "If the parameter is a data type.",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_valueBase64Binary": {
          "description": "Extensions for valueBase64Binary",
          "$ref": "#/definitions/Element"
        },
        "valueInstant": {
          "description": "If the parameter is a data type.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_valueInstant": {
          "description": "Extensions for valueInstant",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "If the parameter is a data type.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueUri": {
          "description": "If the parameter is a data type.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueUri": {
          "description": "Extensions for valueUri",
          "$ref": "#/definitions/Element"
        },
        "valueDate": {
          "description": "If the parameter is a data type.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_valueDate": {
          "description": "Extensions for valueDate",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "If the parameter is a data type.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        },
        "valueTime": {
          "description": "If the parameter is a data type.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_valueTime": {
          "description": "Extensions for valueTime",
          "$ref": "#/definitions/Element"
        },
        "valueCode": {
          "description": "If the parameter is a data type.",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_valueCode": {
          "description": "Extensions for valueCode",
          "$ref": "#/definitions/Element"
        },
        "valueOid": {
          "description": "If the parameter is a data type.",
          "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
          "type": "string"
        },
        "_valueOid": {
          "description": "Extensions for valueOid",
          "$ref": "#/definitions/Element"
        },
        "valueId": {
          "description": "If the parameter is a data type.",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_valueId": {
          "description": "Extensions for valueId",
          "$ref": "#/definitions/Element"
        },
        "valueUnsignedInt": {
          "description": "If the parameter is a data type.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_valueUnsignedInt": {
          "description": "Extensions for valueUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "valuePositiveInt": {
          "description": "If the parameter is a data type.",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_valuePositiveInt": {
          "description": "Extensions for valuePositiveInt",
          "$ref": "#/definitions/Element"
        },
        "valueMarkdown": {
          "description": "If the parameter is a data type.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueMarkdown": {
          "description": "Extensions for valueMarkdown",
          "$ref": "#/definitions/Element"
        },
        "valueAnnotation": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Annotation"
        },
        "valueAttachment": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Attachment"
        },
        "valueIdentifier": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Identifier"
        },
        "valueCodeableConcept": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueCoding": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Coding"
        },
        "valueQuantity": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Quantity"
        },
        "valueRange": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Range"
        },
        "valuePeriod": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Period"
        },
        "valueRatio": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Ratio"
        },
        "valueSampledData": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/SampledData"
        },
        "valueSignature": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Signature"
        },
        "valueHumanName": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/HumanName"
        },
        "valueAddress": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Address"
        },
        "valueContactPoint": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/ContactPoint"
        },
        "valueTiming": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Timing"
        },
        "valueReference": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Reference"
        },
        "valueMeta": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Meta"
        },
        "valueDosage": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Dosage"
        },
        "valueContactDetail": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/ContactDetail"
        },
        "valueContributor": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/Contributor"
        },
        "valueDataRequirement": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/DataRequirement"
        },
        "valueParameterDefinition": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/ParameterDefinition"
        },
        "valueRelatedArtifact": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/RelatedArtifact"
        },
        "valueTriggerDefinition": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/TriggerDefinition"
        },
        "valueUsageContext": {
          "description": "If the parameter is a data type.",
          "$ref": "#/definitions/UsageContext"
        },
        "resource": {
          "description": "If the parameter is a whole resource.",
          "$ref": "#/definitions/ResourceList"
        },
        "part": {
          "description": "A named part of a multi-part parameter.",
          "items": {
            "$ref": "#/definitions/Parameters_Parameter"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Patient": {
      "description": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.",
      "properties": {
        "resourceType": {
          "description": "This is a Patient resource",
          "const": "Patient"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "An identifier for this patient.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "Whether this patient record is in active use.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A name associated with the individual.",
          "items": {
            "$ref": "#/definitions/HumanName"
          },
          "type": "array"
        },
        "telecom": {
          "description": "A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "gender": {
          "description": "Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.",
          "enum": [
            "male",
            "female",
            "other",
            "unknown"
          ]
        },
        "_gender": {
          "description": "Extensions for gender",
          "$ref": "#/definitions/Element"
        },
        "birthDate": {
          "description": "The date of birth for the individual.",
          "$ref": "#/definitions/date"
        },
        "_birthDate": {
          "description": "Extensions for birthDate",
          "$ref": "#/definitions/Element"
        },
        "deceasedBoolean": {
          "description": "Indicates if the individual is deceased or not.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_deceasedBoolean": {
          "description": "Extensions for deceasedBoolean",
          "$ref": "#/definitions/Element"
        },
        "deceasedDateTime": {
          "description": "Indicates if the individual is deceased or not.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_deceasedDateTime": {
          "description": "Extensions for deceasedDateTime",
          "$ref": "#/definitions/Element"
        },
        "address": {
          "description": "An address for the individual.",
          "items": {
            "$ref": "#/definitions/Address"
          },
          "type": "array"
        },
        "maritalStatus": {
          "description": "This field contains a patient\u0027s most recent marital (civil) status.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "multipleBirthBoolean": {
          "description": "Indicates whether the patient is part of a multiple (bool) or indicates the actual birth order (integer).",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_multipleBirthBoolean": {
          "description": "Extensions for multipleBirthBoolean",
          "$ref": "#/definitions/Element"
        },
        "multipleBirthInteger": {
          "description": "Indicates whether the patient is part of a multiple (bool) or indicates the actual birth order (integer).",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_multipleBirthInteger": {
          "description": "Extensions for multipleBirthInteger",
          "$ref": "#/definitions/Element"
        },
        "photo": {
          "description": "Image of the patient.",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "type": "array"
        },
        "contact": {
          "description": "A contact party (e.g. guardian, partner, friend) for the patient.",
          "items": {
            "$ref": "#/definitions/Patient_Contact"
          },
          "type": "array"
        },
        "animal": {
          "description": "This patient is known to be an animal.",
          "$ref": "#/definitions/Patient_Animal"
        },
        "communication": {
          "description": "A language which may be used to communicate with the patient about his or her health.",
          "items": {
            "$ref": "#/definitions/Patient_Communication"
          },
          "type": "array"
        },
        "generalPractitioner": {
          "description": "Patient\u0027s nominated care provider.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "managingOrganization": {
          "description": "Organization that is the custodian of the patient record.",
          "$ref": "#/definitions/Reference"
        },
        "link": {
          "description": "Link to another patient resource that concerns the same actual patient.",
          "items": {
            "$ref": "#/definitions/Patient_Link"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Patient_Contact": {
      "description": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "relationship": {
          "description": "The nature of the relationship between the patient and the contact person.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "name": {
          "description": "A name associated with the contact person.",
          "$ref": "#/definitions/HumanName"
        },
        "telecom": {
          "description": "A contact detail for the person, e.g. a telephone number or an email address.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "address": {
          "description": "Address for the contact person.",
          "$ref": "#/definitions/Address"
        },
        "gender": {
          "description": "Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes.",
          "enum": [
            "male",
            "female",
            "other",
            "unknown"
          ]
        },
        "_gender": {
          "description": "Extensions for gender",
          "$ref": "#/definitions/Element"
        },
        "organization": {
          "description": "Organization on behalf of which the contact is acting or for which the contact is working.",
          "$ref": "#/definitions/Reference"
        },
        "period": {
          "description": "The period during which this contact person or organization is valid to be contacted relating to this patient.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "Patient_Animal": {
      "description": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "species": {
          "description": "Identifies the high level taxonomic categorization of the kind of animal.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "breed": {
          "description": "Identifies the detailed categorization of the kind of animal.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "genderStatus": {
          "description": "Indicates the current state of the animal\u0027s reproductive organs.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "species"
      ]
    },
    "Patient_Communication": {
      "description": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "language": {
          "description": "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "preferred": {
          "description": "Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).",
          "$ref": "#/definitions/boolean"
        },
        "_preferred": {
          "description": "Extensions for preferred",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "language"
      ]
    },
    "Patient_Link": {
      "description": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "other": {
          "description": "The other patient resource that the link refers to.",
          "$ref": "#/definitions/Reference"
        },
        "type": {
          "description": "The type of link between this patient resource and another patient resource.",
          "enum": [
            "replaced-by",
            "replaces",
            "refer",
            "seealso"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "other"
      ]
    },
    "PaymentNotice": {
      "description": "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.",
      "properties": {
        "resourceType": {
          "description": "This is a PaymentNotice resource",
          "const": "PaymentNotice"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The notice business identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "request": {
          "description": "Reference of resource for which payment is being made.",
          "$ref": "#/definitions/Reference"
        },
        "response": {
          "description": "Reference of response to resource for which payment is being made.",
          "$ref": "#/definitions/Reference"
        },
        "statusDate": {
          "description": "The date when the above payment action occurrred.",
          "$ref": "#/definitions/date"
        },
        "_statusDate": {
          "description": "Extensions for statusDate",
          "$ref": "#/definitions/Element"
        },
        "created": {
          "description": "The date when this resource was created.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "target": {
          "description": "The Insurer who is target  of the request.",
          "$ref": "#/definitions/Reference"
        },
        "provider": {
          "description": "The practitioner who is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "organization": {
          "description": "The organization which is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "paymentStatus": {
          "description": "The payment status, typically paid: payment sent, cleared: payment received.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "PaymentReconciliation": {
      "description": "This resource provides payment details and claim references supporting a bulk payment.",
      "properties": {
        "resourceType": {
          "description": "This is a PaymentReconciliation resource",
          "const": "PaymentReconciliation"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The Response business identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The period of time for which payments have been gathered into this bulk payment for settlement.",
          "$ref": "#/definitions/Period"
        },
        "created": {
          "description": "The date when the enclosed suite of services were performed or completed.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "organization": {
          "description": "The Insurer who produced this adjudicated response.",
          "$ref": "#/definitions/Reference"
        },
        "request": {
          "description": "Original request resource reference.",
          "$ref": "#/definitions/Reference"
        },
        "outcome": {
          "description": "Transaction status: error, complete.",
          "enum": [
            "complete",
            "error",
            "partial"
          ]
        },
        "_outcome": {
          "description": "Extensions for outcome",
          "$ref": "#/definitions/Element"
        },
        "disposition": {
          "description": "A description of the status of the adjudication.",
          "$ref": "#/definitions/string"
        },
        "_disposition": {
          "description": "Extensions for disposition",
          "$ref": "#/definitions/Element"
        },
        "requestProvider": {
          "description": "The practitioner who is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "requestOrganization": {
          "description": "The organization which is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "detail": {
          "description": "List of individual settlement amounts and the corresponding transaction.",
          "items": {
            "$ref": "#/definitions/PaymentReconciliation_Detail"
          },
          "type": "array"
        },
        "form": {
          "description": "The form to be used for printing the content.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "total": {
          "description": "Total payment amount.",
          "$ref": "#/definitions/Money"
        },
        "processNote": {
          "description": "Suite of notes.",
          "items": {
            "$ref": "#/definitions/PaymentReconciliation_ProcessNote"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "PaymentReconciliation_Detail": {
      "description": "This resource provides payment details and claim references supporting a bulk payment.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Code to indicate the nature of the payment, adjustment, funds advance, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "request": {
          "description": "The claim or financial resource.",
          "$ref": "#/definitions/Reference"
        },
        "response": {
          "description": "The claim response resource.",
          "$ref": "#/definitions/Reference"
        },
        "submitter": {
          "description": "The Organization which submitted the claim or financial transaction.",
          "$ref": "#/definitions/Reference"
        },
        "payee": {
          "description": "The organization which is receiving the payment.",
          "$ref": "#/definitions/Reference"
        },
        "date": {
          "description": "The date of the invoice or financial resource.",
          "$ref": "#/definitions/date"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "amount": {
          "description": "Amount paid for this detail.",
          "$ref": "#/definitions/Money"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "PaymentReconciliation_ProcessNote": {
      "description": "This resource provides payment details and claim references supporting a bulk payment.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The note purpose: Print/Display.",
          "enum": [
            "display",
            "print",
            "printoper"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "The note text.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Person": {
      "description": "Demographics and administrative information about a person independent of a specific health-related context.",
      "properties": {
        "resourceType": {
          "description": "This is a Person resource",
          "const": "Person"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier for a person within a particular scope.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "name": {
          "description": "A name associated with the person.",
          "items": {
            "$ref": "#/definitions/HumanName"
          },
          "type": "array"
        },
        "telecom": {
          "description": "A contact detail for the person, e.g. a telephone number or an email address.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "gender": {
          "description": "Administrative Gender.",
          "enum": [
            "male",
            "female",
            "other",
            "unknown"
          ]
        },
        "_gender": {
          "description": "Extensions for gender",
          "$ref": "#/definitions/Element"
        },
        "birthDate": {
          "description": "The birth date for the person.",
          "$ref": "#/definitions/date"
        },
        "_birthDate": {
          "description": "Extensions for birthDate",
          "$ref": "#/definitions/Element"
        },
        "address": {
          "description": "One or more addresses for the person.",
          "items": {
            "$ref": "#/definitions/Address"
          },
          "type": "array"
        },
        "photo": {
          "description": "An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.",
          "$ref": "#/definitions/Attachment"
        },
        "managingOrganization": {
          "description": "The organization that is the custodian of the person record.",
          "$ref": "#/definitions/Reference"
        },
        "active": {
          "description": "Whether this person\u0027s record is in active use.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "link": {
          "description": "Link to a resource that concerns the same actual person.",
          "items": {
            "$ref": "#/definitions/Person_Link"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Person_Link": {
      "description": "Demographics and administrative information about a person independent of a specific health-related context.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "target": {
          "description": "The resource to which this actual person is associated.",
          "$ref": "#/definitions/Reference"
        },
        "assurance": {
          "description": "Level of assurance that this link is actually associated with the target resource.",
          "enum": [
            "level1",
            "level2",
            "level3",
            "level4"
          ]
        },
        "_assurance": {
          "description": "Extensions for assurance",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "target"
      ]
    },
    "PlanDefinition": {
      "description": "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.",
      "properties": {
        "resourceType": {
          "description": "This is a PlanDefinition resource",
          "const": "PlanDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this plan definition is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this plan definition when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the plan definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the plan definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the plan definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the plan definition.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of artifact the plan definition represents, e.g. an order set, protocol, or event-condition-action rule.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "status": {
          "description": "The status of this plan definition. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this plan definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the plan definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the plan definition changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the plan definition.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A free text natural language description of the plan definition from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "Explaination of why this plan definition is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "usage": {
          "description": "A detailed description of how the plan definition is used from a clinical perspective.",
          "$ref": "#/definitions/string"
        },
        "_usage": {
          "description": "Extensions for usage",
          "$ref": "#/definitions/Element"
        },
        "approvalDate": {
          "description": "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.",
          "$ref": "#/definitions/date"
        },
        "_approvalDate": {
          "description": "Extensions for approvalDate",
          "$ref": "#/definitions/Element"
        },
        "lastReviewDate": {
          "description": "The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn\u0027t change the original approval date.",
          "$ref": "#/definitions/date"
        },
        "_lastReviewDate": {
          "description": "Extensions for lastReviewDate",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The period during which the plan definition content was or is planned to be in active use.",
          "$ref": "#/definitions/Period"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate plan definition instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the plan definition is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "topic": {
          "description": "Descriptive topics related to the content of the plan definition. Topics provide a high-level categorization of the definition that can be useful for filtering and searching.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "contributor": {
          "description": "A contributor to the content of the plan definition, including authors, editors, reviewers, and endorsers.",
          "items": {
            "$ref": "#/definitions/Contributor"
          },
          "type": "array"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the plan definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the plan definition.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "relatedArtifact": {
          "description": "Related artifacts such as additional documentation, justification, or bibliographic references.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "library": {
          "description": "A reference to a Library resource containing any formal logic used by the plan definition.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "goal": {
          "description": "Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.",
          "items": {
            "$ref": "#/definitions/PlanDefinition_Goal"
          },
          "type": "array"
        },
        "action": {
          "description": "An action to be taken as part of the plan.",
          "items": {
            "$ref": "#/definitions/PlanDefinition_Action"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "PlanDefinition_Goal": {
      "description": "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "category": {
          "description": "Indicates a category the goal falls within.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "Human-readable and/or coded description of a specific desired objective of care, such as \"control blood pressure\" or \"negotiate an obstacle course\" or \"dance with child at wedding\".",
          "$ref": "#/definitions/CodeableConcept"
        },
        "priority": {
          "description": "Identifies the expected level of importance associated with reaching/sustaining the defined goal.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "start": {
          "description": "The event after which the goal should begin being pursued.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "addresses": {
          "description": "Identifies problems, conditions, issues, or concerns the goal is intended to address.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "documentation": {
          "description": "Didactic or other informational resources associated with the goal that provide further supporting information about the goal. Information resources can include inline text commentary and links to web resources.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "target": {
          "description": "Indicates what should be done and within what timeframe.",
          "items": {
            "$ref": "#/definitions/PlanDefinition_Target"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "description"
      ]
    },
    "PlanDefinition_Target": {
      "description": "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "measure": {
          "description": "The parameter whose value is to be tracked, e.g. body weigth, blood pressure, or hemoglobin A1c level.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "detailQuantity": {
          "description": "The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. Whan a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value.",
          "$ref": "#/definitions/Quantity"
        },
        "detailRange": {
          "description": "The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. Whan a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value.",
          "$ref": "#/definitions/Range"
        },
        "detailCodeableConcept": {
          "description": "The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. Whan a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "due": {
          "description": "Indicates the timeframe after the start of the goal in which the goal should be met.",
          "$ref": "#/definitions/Duration"
        }
      },
      "additionalProperties": false
    },
    "PlanDefinition_Action": {
      "description": "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "prefix": {
          "description": "A user-visible prefix for the action.",
          "$ref": "#/definitions/string"
        },
        "_prefix": {
          "description": "Extensions for prefix",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "The title of the action displayed to a user.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A short description of the action used to provide a summary to display to the user.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "textEquivalent": {
          "description": "A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.",
          "$ref": "#/definitions/string"
        },
        "_textEquivalent": {
          "description": "Extensions for textEquivalent",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a the section of a documentation template.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reason": {
          "description": "A description of why this action is necessary or appropriate.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "documentation": {
          "description": "Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "goalId": {
          "description": "Identifies goals that this action supports. The reference must be to a goal element defined within this plan definition.",
          "items": {
            "$ref": "#/definitions/id"
          },
          "type": "array"
        },
        "_goalId": {
          "description": "Extensions for goalId",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "triggerDefinition": {
          "description": "A description of when the action should be triggered.",
          "items": {
            "$ref": "#/definitions/TriggerDefinition"
          },
          "type": "array"
        },
        "condition": {
          "description": "An expression that describes applicability criteria, or start/stop conditions for the action.",
          "items": {
            "$ref": "#/definitions/PlanDefinition_Condition"
          },
          "type": "array"
        },
        "input": {
          "description": "Defines input data requirements for the action.",
          "items": {
            "$ref": "#/definitions/DataRequirement"
          },
          "type": "array"
        },
        "output": {
          "description": "Defines the outputs of the action, if any.",
          "items": {
            "$ref": "#/definitions/DataRequirement"
          },
          "type": "array"
        },
        "relatedAction": {
          "description": "A relationship to another action such as \"before\" or \"30-60 minutes after start of\".",
          "items": {
            "$ref": "#/definitions/PlanDefinition_RelatedAction"
          },
          "type": "array"
        },
        "timingDateTime": {
          "description": "An optional value describing when the action should be performed.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_timingDateTime": {
          "description": "Extensions for timingDateTime",
          "$ref": "#/definitions/Element"
        },
        "timingAge": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Age"
        },
        "timingPeriod": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Period"
        },
        "timingDuration": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Duration"
        },
        "timingRange": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Range"
        },
        "timingTiming": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Timing"
        },
        "participant": {
          "description": "Indicates who should participate in performing the action described.",
          "items": {
            "$ref": "#/definitions/PlanDefinition_Participant"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of action to perform (create, update, remove).",
          "$ref": "#/definitions/Coding"
        },
        "groupingBehavior": {
          "description": "Defines the grouping behavior for the action and its children.",
          "enum": [
            "visual-group",
            "logical-group",
            "sentence-group"
          ]
        },
        "_groupingBehavior": {
          "description": "Extensions for groupingBehavior",
          "$ref": "#/definitions/Element"
        },
        "selectionBehavior": {
          "description": "Defines the selection behavior for the action and its children.",
          "enum": [
            "any",
            "all",
            "all-or-none",
            "exactly-one",
            "at-most-one",
            "one-or-more"
          ]
        },
        "_selectionBehavior": {
          "description": "Extensions for selectionBehavior",
          "$ref": "#/definitions/Element"
        },
        "requiredBehavior": {
          "description": "Defines the requiredness behavior for the action.",
          "enum": [
            "must",
            "could",
            "must-unless-documented"
          ]
        },
        "_requiredBehavior": {
          "description": "Extensions for requiredBehavior",
          "$ref": "#/definitions/Element"
        },
        "precheckBehavior": {
          "description": "Defines whether the action should usually be preselected.",
          "enum": [
            "yes",
            "no"
          ]
        },
        "_precheckBehavior": {
          "description": "Extensions for precheckBehavior",
          "$ref": "#/definitions/Element"
        },
        "cardinalityBehavior": {
          "description": "Defines whether the action can be selected multiple times.",
          "enum": [
            "single",
            "multiple"
          ]
        },
        "_cardinalityBehavior": {
          "description": "Extensions for cardinalityBehavior",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "A reference to an ActivityDefinition that describes the action to be taken in detail, or a PlanDefinition that describes a series of actions to be taken.",
          "$ref": "#/definitions/Reference"
        },
        "transform": {
          "description": "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.",
          "$ref": "#/definitions/Reference"
        },
        "dynamicValue": {
          "description": "Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient\u0027s weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.",
          "items": {
            "$ref": "#/definitions/PlanDefinition_DynamicValue"
          },
          "type": "array"
        },
        "action": {
          "description": "Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition.",
          "items": {
            "$ref": "#/definitions/PlanDefinition_Action"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "PlanDefinition_Condition": {
      "description": "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "kind": {
          "description": "The kind of condition.",
          "enum": [
            "applicability",
            "start",
            "stop"
          ]
        },
        "_kind": {
          "description": "Extensions for kind",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A brief, natural language description of the condition that effectively communicates the intended semantics.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The media type of the language for the expression.",
          "$ref": "#/definitions/string"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "An expression that returns true or false, indicating whether or not the condition is satisfied.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "PlanDefinition_RelatedAction": {
      "description": "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "actionId": {
          "description": "The element id of the related action.",
          "$ref": "#/definitions/id"
        },
        "_actionId": {
          "description": "Extensions for actionId",
          "$ref": "#/definitions/Element"
        },
        "relationship": {
          "description": "The relationship of this action to the related action.",
          "enum": [
            "before-start",
            "before",
            "before-end",
            "concurrent-with-start",
            "concurrent",
            "concurrent-with-end",
            "after-start",
            "after",
            "after-end"
          ]
        },
        "_relationship": {
          "description": "Extensions for relationship",
          "$ref": "#/definitions/Element"
        },
        "offsetDuration": {
          "description": "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.",
          "$ref": "#/definitions/Duration"
        },
        "offsetRange": {
          "description": "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.",
          "$ref": "#/definitions/Range"
        }
      },
      "additionalProperties": false
    },
    "PlanDefinition_Participant": {
      "description": "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of participant in the action.",
          "enum": [
            "patient",
            "practitioner",
            "related-person"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "role": {
          "description": "The role the participant should play in performing the described action.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "PlanDefinition_DynamicValue": {
      "description": "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "A brief, natural language description of the intended semantics of the dynamic value.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "path": {
          "description": "The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The media type of the language for the expression.",
          "$ref": "#/definitions/string"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "An expression specifying the value of the customized element.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Practitioner": {
      "description": "A person who is directly or indirectly involved in the provisioning of healthcare.",
      "properties": {
        "resourceType": {
          "description": "This is a Practitioner resource",
          "const": "Practitioner"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "An identifier that applies to this person in this role.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "Whether this practitioner\u0027s record is in active use.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "The name(s) associated with the practitioner.",
          "items": {
            "$ref": "#/definitions/HumanName"
          },
          "type": "array"
        },
        "telecom": {
          "description": "A contact detail for the practitioner, e.g. a telephone number or an email address.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "address": {
          "description": "Address(es) of the practitioner that are not role specific (typically home address). \rWork addresses are not typically entered in this property as they are usually role dependent.",
          "items": {
            "$ref": "#/definitions/Address"
          },
          "type": "array"
        },
        "gender": {
          "description": "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.",
          "enum": [
            "male",
            "female",
            "other",
            "unknown"
          ]
        },
        "_gender": {
          "description": "Extensions for gender",
          "$ref": "#/definitions/Element"
        },
        "birthDate": {
          "description": "The date of birth for the practitioner.",
          "$ref": "#/definitions/date"
        },
        "_birthDate": {
          "description": "Extensions for birthDate",
          "$ref": "#/definitions/Element"
        },
        "photo": {
          "description": "Image of the person.",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "type": "array"
        },
        "qualification": {
          "description": "Qualifications obtained by training and certification.",
          "items": {
            "$ref": "#/definitions/Practitioner_Qualification"
          },
          "type": "array"
        },
        "communication": {
          "description": "A language the practitioner is able to use in patient communication.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Practitioner_Qualification": {
      "description": "A person who is directly or indirectly involved in the provisioning of healthcare.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "An identifier that applies to this person\u0027s qualification in this role.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "code": {
          "description": "Coded representation of the qualification.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "period": {
          "description": "Period during which the qualification is valid.",
          "$ref": "#/definitions/Period"
        },
        "issuer": {
          "description": "Organization that regulates and issues the qualification.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "PractitionerRole": {
      "description": "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.",
      "properties": {
        "resourceType": {
          "description": "This is a PractitionerRole resource",
          "const": "PractitionerRole"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Business Identifiers that are specific to a role/location.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "Whether this practitioner role record is in active use.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The period during which the person is authorized to act as a practitioner in these role(s) for the organization.",
          "$ref": "#/definitions/Period"
        },
        "practitioner": {
          "description": "Practitioner that is able to provide the defined services for the organization.",
          "$ref": "#/definitions/Reference"
        },
        "organization": {
          "description": "The organization where the Practitioner performs the roles associated.",
          "$ref": "#/definitions/Reference"
        },
        "code": {
          "description": "Roles which this practitioner is authorized to perform for the organization.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specialty": {
          "description": "Specific specialty of the practitioner.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "location": {
          "description": "The location(s) at which this practitioner provides care.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "healthcareService": {
          "description": "The list of healthcare services that this worker provides for this role\u0027s Organization/Location(s).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "telecom": {
          "description": "Contact details that are specific to the role/location/service.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "availableTime": {
          "description": "A collection of times that the Service Site is available.",
          "items": {
            "$ref": "#/definitions/PractitionerRole_AvailableTime"
          },
          "type": "array"
        },
        "notAvailable": {
          "description": "The HealthcareService is not available during this period of time due to the provided reason.",
          "items": {
            "$ref": "#/definitions/PractitionerRole_NotAvailable"
          },
          "type": "array"
        },
        "availabilityExceptions": {
          "description": "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.",
          "$ref": "#/definitions/string"
        },
        "_availabilityExceptions": {
          "description": "Extensions for availabilityExceptions",
          "$ref": "#/definitions/Element"
        },
        "endpoint": {
          "description": "Technical endpoints providing access to services operated for the practitioner with this role.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "PractitionerRole_AvailableTime": {
      "description": "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "daysOfWeek": {
          "description": "Indicates which days of the week are available between the start and end Times.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_daysOfWeek": {
          "description": "Extensions for daysOfWeek",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "allDay": {
          "description": "Is this always available? (hence times are irrelevant) e.g. 24 hour service.",
          "$ref": "#/definitions/boolean"
        },
        "_allDay": {
          "description": "Extensions for allDay",
          "$ref": "#/definitions/Element"
        },
        "availableStartTime": {
          "description": "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.",
          "$ref": "#/definitions/time"
        },
        "_availableStartTime": {
          "description": "Extensions for availableStartTime",
          "$ref": "#/definitions/Element"
        },
        "availableEndTime": {
          "description": "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.",
          "$ref": "#/definitions/time"
        },
        "_availableEndTime": {
          "description": "Extensions for availableEndTime",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "PractitionerRole_NotAvailable": {
      "description": "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "The reason that can be presented to the user as to why this time is not available.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "during": {
          "description": "Service is not available (seasonally or for a public holiday) from this date.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "Procedure": {
      "description": "An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.",
      "properties": {
        "resourceType": {
          "description": "This is a Procedure resource",
          "const": "Procedure"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "This records identifiers associated with this procedure that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "instantiates": {
          "description": "A protocol, guideline, orderset or other definition that was adhered to in whole or in part by this procedure.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "A reference to a resource that contains details of the request for this procedure.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "partOf": {
          "description": "A larger event of which this particular procedure is a component or step.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "A code specifying the state of the procedure. Generally this will be in-progress or completed state.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "statusReason": {
          "description": "Captures the reason for the current state of the procedure.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "category": {
          "description": "A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\").",
          "$ref": "#/definitions/CodeableConcept"
        },
        "code": {
          "description": "The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. \"Laparoscopic Appendectomy\").",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The person, animal or group on which the procedure was performed.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter during which the procedure was performed.",
          "$ref": "#/definitions/Reference"
        },
        "performedDateTime": {
          "description": "Estimated or actual date, date-time, period, or age when the procedure was performed.  Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_performedDateTime": {
          "description": "Extensions for performedDateTime",
          "$ref": "#/definitions/Element"
        },
        "performedPeriod": {
          "description": "Estimated or actual date, date-time, period, or age when the procedure was performed.  Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.",
          "$ref": "#/definitions/Period"
        },
        "performedString": {
          "description": "Estimated or actual date, date-time, period, or age when the procedure was performed.  Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_performedString": {
          "description": "Extensions for performedString",
          "$ref": "#/definitions/Element"
        },
        "performedAge": {
          "description": "Estimated or actual date, date-time, period, or age when the procedure was performed.  Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.",
          "$ref": "#/definitions/Age"
        },
        "performedRange": {
          "description": "Estimated or actual date, date-time, period, or age when the procedure was performed.  Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.",
          "$ref": "#/definitions/Range"
        },
        "performer": {
          "description": "Limited to \u0027real\u0027 people rather than equipment.",
          "items": {
            "$ref": "#/definitions/Procedure_Performer"
          },
          "type": "array"
        },
        "location": {
          "description": "The location where the procedure actually happened.  E.g. a newborn at home, a tracheostomy at a restaurant.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "The coded reason why the procedure was performed. This may be coded entity of some type, or may simply be present as text.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "The justification of why the procedure was performed.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "bodySite": {
          "description": "Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "outcome": {
          "description": "The outcome of the procedure - did it resolve reasons for the procedure being performed?",
          "$ref": "#/definitions/CodeableConcept"
        },
        "report": {
          "description": "This could be a histology result, pathology report, surgical report, etc..",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "complication": {
          "description": "Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any \u0027post procedure\u0027 issues.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "complicationDetail": {
          "description": "Any complications that occurred during the procedure, or in the immediate post-performance period.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "followUp": {
          "description": "If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "note": {
          "description": "Any other notes about the procedure.  E.g. the operative notes.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "focalDevice": {
          "description": "A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure.",
          "items": {
            "$ref": "#/definitions/Procedure_FocalDevice"
          },
          "type": "array"
        },
        "usedReference": {
          "description": "Identifies medications, devices and any other substance used as part of the procedure.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "usedCode": {
          "description": "Identifies coded items that were used as part of the procedure.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "Procedure_Performer": {
      "description": "An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "role": {
          "description": "For example: surgeon, anaethetist, endoscopist.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "actor": {
          "description": "The practitioner who was involved in the procedure.",
          "$ref": "#/definitions/Reference"
        },
        "onBehalfOf": {
          "description": "The organization the device or practitioner was acting on behalf of.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "actor"
      ]
    },
    "Procedure_FocalDevice": {
      "description": "An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "action": {
          "description": "The kind of change that happened to the device during the procedure.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "manipulated": {
          "description": "The device that was manipulated (changed) during the procedure.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "manipulated"
      ]
    },
    "ProcessRequest": {
      "description": "This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.",
      "properties": {
        "resourceType": {
          "description": "This is a ProcessRequest resource",
          "const": "ProcessRequest"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The ProcessRequest business identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "action": {
          "description": "The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest.",
          "enum": [
            "cancel",
            "poll",
            "reprocess",
            "status"
          ]
        },
        "_action": {
          "description": "Extensions for action",
          "$ref": "#/definitions/Element"
        },
        "target": {
          "description": "The organization which is the target of the request.",
          "$ref": "#/definitions/Reference"
        },
        "created": {
          "description": "The date when this resource was created.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "provider": {
          "description": "The practitioner who is responsible for the action specified in this request.",
          "$ref": "#/definitions/Reference"
        },
        "organization": {
          "description": "The organization which is responsible for the action speccified in this request.",
          "$ref": "#/definitions/Reference"
        },
        "request": {
          "description": "Reference of resource which is the target or subject of this action.",
          "$ref": "#/definitions/Reference"
        },
        "response": {
          "description": "Reference of a prior response to resource which is the target or subject of this action.",
          "$ref": "#/definitions/Reference"
        },
        "nullify": {
          "description": "If true remove all history excluding audit.",
          "$ref": "#/definitions/boolean"
        },
        "_nullify": {
          "description": "Extensions for nullify",
          "$ref": "#/definitions/Element"
        },
        "reference": {
          "description": "A reference to supply which authenticates the process.",
          "$ref": "#/definitions/string"
        },
        "_reference": {
          "description": "Extensions for reference",
          "$ref": "#/definitions/Element"
        },
        "item": {
          "description": "List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.",
          "items": {
            "$ref": "#/definitions/ProcessRequest_Item"
          },
          "type": "array"
        },
        "include": {
          "description": "Names of resource types to include.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_include": {
          "description": "Extensions for include",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "exclude": {
          "description": "Names of resource types to exclude.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_exclude": {
          "description": "Extensions for exclude",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "period": {
          "description": "A period of time during which the fulfilling resources would have been created.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ProcessRequest_Item": {
      "description": "This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "sequenceLinkId": {
          "description": "A service line number.",
          "$ref": "#/definitions/integer"
        },
        "_sequenceLinkId": {
          "description": "Extensions for sequenceLinkId",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ProcessResponse": {
      "description": "This resource provides processing status, errors and notes from the processing of a resource.",
      "properties": {
        "resourceType": {
          "description": "This is a ProcessResponse resource",
          "const": "ProcessResponse"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The Response business identifier.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "created": {
          "description": "The date when the enclosed suite of services were performed or completed.",
          "$ref": "#/definitions/dateTime"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "organization": {
          "description": "The organization who produced this adjudicated response.",
          "$ref": "#/definitions/Reference"
        },
        "request": {
          "description": "Original request resource reference.",
          "$ref": "#/definitions/Reference"
        },
        "outcome": {
          "description": "Transaction status: error, complete, held.",
          "$ref": "#/definitions/code"
        },
        "_outcome": {
          "description": "Extensions for outcome",
          "$ref": "#/definitions/Element"
        },
        "disposition": {
          "description": "A description of the status of the adjudication or processing.",
          "$ref": "#/definitions/string"
        },
        "_disposition": {
          "description": "Extensions for disposition",
          "$ref": "#/definitions/Element"
        },
        "requestProvider": {
          "description": "The practitioner who is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "requestOrganization": {
          "description": "The organization which is responsible for the services rendered to the patient.",
          "$ref": "#/definitions/Reference"
        },
        "form": {
          "description": "The form to be used for printing the content.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "processNote": {
          "description": "Suite of processing notes or additional requirements if the processing has been held.",
          "items": {
            "$ref": "#/definitions/ProcessResponse_ProcessNote"
          },
          "type": "array"
        },
        "error": {
          "description": "Processing errors.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "communicationRequest": {
          "description": "Request for additional supporting or authorizing information, such as: documents, images or resources.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ProcessResponse_ProcessNote": {
      "description": "This resource provides processing status, errors and notes from the processing of a resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The note purpose: Print/Display.",
          "enum": [
            "display",
            "print",
            "printoper"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "The note text.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ProductPlan": {
      "description": "Details of a Health Insurance product/plan provided by an organization.",
      "properties": {
        "resourceType": {
          "description": "This is a ProductPlan resource",
          "const": "ProductPlan"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier for the product/plan that is used to identify it across multiple disparate systems.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Whether the organization\u0027s record is still in active use.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of product/plan.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "name": {
          "description": "Official name of the product/plan (as designated by the owner).",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "alias": {
          "description": "A list of alternate names that the product/plan is known as, or was known as in the past.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_alias": {
          "description": "Extensions for alias",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "period": {
          "description": "The period of time that the product is available.",
          "$ref": "#/definitions/Period"
        },
        "ownedBy": {
          "description": "Owner of the product/plan (typically a payer).",
          "$ref": "#/definitions/Reference"
        },
        "administeredBy": {
          "description": "Administrator of the product/plan (e.g. self-insured employer plan administered by a TPA).",
          "$ref": "#/definitions/Reference"
        },
        "address": {
          "description": "An address for the organization.",
          "items": {
            "$ref": "#/definitions/Address"
          },
          "type": "array"
        },
        "coverageArea": {
          "description": "The geographic region in which this product/plan is available.",
          "$ref": "#/definitions/Reference"
        },
        "contact": {
          "description": "Contact for the product/plan for a certain purpose.",
          "items": {
            "$ref": "#/definitions/ProductPlan_Contact"
          },
          "type": "array"
        },
        "coverage": {
          "description": "Details about the coverage offered by the insurance product.",
          "items": {
            "$ref": "#/definitions/ProductPlan_Coverage"
          },
          "type": "array"
        },
        "plan": {
          "description": "Details about an insurance plan.",
          "items": {
            "$ref": "#/definitions/ProductPlan_Plan"
          },
          "type": "array"
        },
        "endpoint": {
          "description": "Technical endpoints providing access to services operated for the organization.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ProductPlan_Contact": {
      "description": "Details of a Health Insurance product/plan provided by an organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Indicates a purpose for which the contact can be reached.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "name": {
          "description": "A name associated with the contact.",
          "$ref": "#/definitions/HumanName"
        },
        "telecom": {
          "description": "A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "address": {
          "description": "Visiting or postal addresses for the contact.",
          "$ref": "#/definitions/Address"
        }
      },
      "additionalProperties": false
    },
    "ProductPlan_Coverage": {
      "description": "Details of a Health Insurance product/plan provided by an organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Type of coverage  (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "benefit": {
          "description": "Specific benefits under this type of coverage.",
          "items": {
            "$ref": "#/definitions/ProductPlan_Benefit"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "type",
        "benefit"
      ]
    },
    "ProductPlan_Benefit": {
      "description": "Details of a Health Insurance product/plan provided by an organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Type of benefit (primary care; speciality care; inpatient; outpatient).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "item": {
          "description": "Specific benefit and related value.",
          "items": {
            "$ref": "#/definitions/ProductPlan_Item"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "item",
        "type"
      ]
    },
    "ProductPlan_Item": {
      "description": "Details of a Health Insurance product/plan provided by an organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Coded Details of the specific benefit (days; visits).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "benefitValue": {
          "description": "Value of the specific benefit.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false,
      "required": [
        "code"
      ]
    },
    "ProductPlan_Plan": {
      "description": "Details of a Health Insurance product/plan provided by an organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Type of plan (Platinum; Gold; Silver; Bronze; High Deductable; Low Deductable).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "Additional descriptive content about the plan.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "premium": {
          "description": "Plan premium.",
          "$ref": "#/definitions/Money"
        },
        "category": {
          "description": "List of the costs associated with plan benefits.",
          "items": {
            "$ref": "#/definitions/ProductPlan_Category"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ProductPlan_Category": {
      "description": "Details of a Health Insurance product/plan provided by an organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "benefit": {
          "description": "List of the specific benefits under this category of benefit.",
          "items": {
            "$ref": "#/definitions/ProductPlan_Benefit1"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ProductPlan_Benefit1": {
      "description": "Details of a Health Insurance product/plan provided by an organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "cost": {
          "description": "List of the costs associated with a specific benefit.",
          "items": {
            "$ref": "#/definitions/ProductPlan_Cost"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "ProductPlan_Cost": {
      "description": "Details of a Health Insurance product/plan provided by an organization.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Type of cost (copay; individual cap; family cap; coinsurance; deductible).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "applicability": {
          "description": "Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other).",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "qualifiers": {
          "description": "Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA).",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_qualifiers": {
          "description": "Extensions for qualifiers",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "value": {
          "description": "The actual cost value.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "Provenance": {
      "description": "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.",
      "properties": {
        "resourceType": {
          "description": "This is a Provenance resource",
          "const": "Provenance"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "target": {
          "description": "The Reference(s) that were generated or updated by  the activity described in this resource. A provenance can point to more than one target if multiple resources were created/updated by the same activity.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "occurredPeriod": {
          "description": "The period during which the activity occurred.",
          "$ref": "#/definitions/Period"
        },
        "occurredDateTime": {
          "description": "The period during which the activity occurred.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_occurredDateTime": {
          "description": "Extensions for occurredDateTime",
          "$ref": "#/definitions/Element"
        },
        "recorded": {
          "description": "The instant of time at which the activity was recorded.",
          "$ref": "#/definitions/instant"
        },
        "_recorded": {
          "description": "Extensions for recorded",
          "$ref": "#/definitions/Element"
        },
        "policy": {
          "description": "Policy or plan the activity was defined by. Typically, a single activity may have multiple applicable policy documents, such as patient consent, guarantor funding, etc.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_policy": {
          "description": "Extensions for policy",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "location": {
          "description": "Where the activity occurred, if relevant.",
          "$ref": "#/definitions/Reference"
        },
        "reason": {
          "description": "The reason that the activity was taking place.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "activity": {
          "description": "An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "agent": {
          "description": "An actor taking a role in an activity  for which it can be assigned some degree of responsibility for the activity taking place.",
          "items": {
            "$ref": "#/definitions/Provenance_Agent"
          },
          "type": "array"
        },
        "entity": {
          "description": "An entity used in this activity.",
          "items": {
            "$ref": "#/definitions/Provenance_Entity"
          },
          "type": "array"
        },
        "signature": {
          "description": "A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.",
          "items": {
            "$ref": "#/definitions/Signature"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "agent",
        "resourceType",
        "target"
      ]
    },
    "Provenance_Agent": {
      "description": "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The participation the agent had with respect to the activity.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "role": {
          "description": "The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "whoIdentifier": {
          "description": "The individual, device or organization that participated in the event.",
          "$ref": "#/definitions/Identifier"
        },
        "whoReference": {
          "description": "The individual, device or organization that participated in the event.",
          "$ref": "#/definitions/Reference"
        },
        "onBehalfOfIdentifier": {
          "description": "The individual, device, or organization for whom the change was made.",
          "$ref": "#/definitions/Identifier"
        },
        "onBehalfOfReference": {
          "description": "The individual, device, or organization for whom the change was made.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Provenance_Entity": {
      "description": "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "role": {
          "description": "How the entity was used during the activity.",
          "enum": [
            "derivation",
            "revision",
            "quotation",
            "source",
            "removal"
          ]
        },
        "_role": {
          "description": "Extensions for role",
          "$ref": "#/definitions/Element"
        },
        "whatIdentifier": {
          "description": "Identity of the  Entity used. May be a logical or physical uri and maybe absolute or relative.",
          "$ref": "#/definitions/Identifier"
        },
        "whatReference": {
          "description": "Identity of the  Entity used. May be a logical or physical uri and maybe absolute or relative.",
          "$ref": "#/definitions/Reference"
        },
        "agent": {
          "description": "The entity is attributed to an agent to express the agent\u0027s responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity.",
          "items": {
            "$ref": "#/definitions/Provenance_Agent"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Questionnaire": {
      "description": "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.",
      "properties": {
        "resourceType": {
          "description": "This is a Questionnaire resource",
          "const": "Questionnaire"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this questionnaire when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this questionnaire is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this questionnaire when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the questionnaire.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "derivedFrom": {
          "description": "The URL of a Questionnaire that this Questionnaire is based on.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_derivedFrom": {
          "description": "Extensions for derivedFrom",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of this questionnaire. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "subjectType": {
          "description": "The types of subjects that can be the subject of responses created for the questionnaire.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_subjectType": {
          "description": "Extensions for subjectType",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "date": {
          "description": "The date  (and optionally time) when the questionnaire was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the questionnaire changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the questionnaire.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate questionnaire instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the questionnaire is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the questionnaire from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "Explaination of why this questionnaire is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "approvalDate": {
          "description": "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.",
          "$ref": "#/definitions/date"
        },
        "_approvalDate": {
          "description": "Extensions for approvalDate",
          "$ref": "#/definitions/Element"
        },
        "lastReviewDate": {
          "description": "The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn\u0027t change the original approval date.",
          "$ref": "#/definitions/date"
        },
        "_lastReviewDate": {
          "description": "Extensions for lastReviewDate",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The period during which the questionnaire content was or is planned to be in active use.",
          "$ref": "#/definitions/Period"
        },
        "code": {
          "description": "An identifier for this question or group of questions in a particular terminology such as LOINC.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "item": {
          "description": "A particular question, question grouping or display text that is part of the questionnaire.",
          "items": {
            "$ref": "#/definitions/Questionnaire_Item"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Questionnaire_Item": {
      "description": "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "linkId": {
          "description": "An identifier that is unique within the Questionnaire allowing linkage to the equivalent item in a QuestionnaireResponse resource.",
          "$ref": "#/definitions/string"
        },
        "_linkId": {
          "description": "Extensions for linkId",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "A reference to an [[[ElementDefinition]]] that provides the details for the item. If a definition is provided, then the following element values can be inferred from the definition: \n\n* code (ElementDefinition.code)\n* type (ElementDefinition.type)\n* required (ElementDefinition.min)\n* repeats (ElementDefinition.max)\n* maxLength (ElementDefinition.maxLength)\n* options (ElementDefinition.binding)\n\nAny information provided in these elements on a Questionnaire Item overrides the information from the definition.",
          "$ref": "#/definitions/uri"
        },
        "_definition": {
          "description": "Extensions for definition",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A terminology code that corresponds to this group or question (e.g. a code from LOINC, which defines many questions and answers).",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "prefix": {
          "description": "A short label for a particular group, question or set of display text within the questionnaire used for reference by the individual completing the questionnaire.",
          "$ref": "#/definitions/string"
        },
        "_prefix": {
          "description": "Extensions for prefix",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "The name of a section, the text of a question or text content for a display item.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of questionnaire item this is - whether text for display, a grouping of other items or a particular type of data to be captured (string, integer, coded choice, etc.).",
          "enum": [
            "group",
            "display",
            "boolean",
            "decimal",
            "integer",
            "date",
            "dateTime",
            "time",
            "string",
            "text",
            "url",
            "choice",
            "open-choice",
            "attachment",
            "reference",
            "quantity"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "enableWhen": {
          "description": "A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true.",
          "items": {
            "$ref": "#/definitions/Questionnaire_EnableWhen"
          },
          "type": "array"
        },
        "required": {
          "description": "An indication, if true, that the item must be present in a \"completed\" QuestionnaireResponse.  If false, the item may be skipped when answering the questionnaire.",
          "$ref": "#/definitions/boolean"
        },
        "_required": {
          "description": "Extensions for required",
          "$ref": "#/definitions/Element"
        },
        "repeats": {
          "description": "An indication, if true, that the item may occur multiple times in the response, collecting multiple answers answers for questions or multiple sets of answers for groups.",
          "$ref": "#/definitions/boolean"
        },
        "_repeats": {
          "description": "Extensions for repeats",
          "$ref": "#/definitions/Element"
        },
        "readOnly": {
          "description": "An indication, when true, that the value cannot be changed by a human respondent to the Questionnaire.",
          "$ref": "#/definitions/boolean"
        },
        "_readOnly": {
          "description": "Extensions for readOnly",
          "$ref": "#/definitions/Element"
        },
        "maxLength": {
          "description": "The maximum number of characters that are permitted in the answer to be considered a \"valid\" QuestionnaireResponse.",
          "$ref": "#/definitions/integer"
        },
        "_maxLength": {
          "description": "Extensions for maxLength",
          "$ref": "#/definitions/Element"
        },
        "options": {
          "description": "A reference to a value set containing a list of codes representing permitted answers for a \"choice\" or \"open-choice\" question.",
          "$ref": "#/definitions/Reference"
        },
        "option": {
          "description": "One of the permitted answers for a \"choice\" or \"open-choice\" question.",
          "items": {
            "$ref": "#/definitions/Questionnaire_Option"
          },
          "type": "array"
        },
        "initialBoolean": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_initialBoolean": {
          "description": "Extensions for initialBoolean",
          "$ref": "#/definitions/Element"
        },
        "initialDecimal": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_initialDecimal": {
          "description": "Extensions for initialDecimal",
          "$ref": "#/definitions/Element"
        },
        "initialInteger": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_initialInteger": {
          "description": "Extensions for initialInteger",
          "$ref": "#/definitions/Element"
        },
        "initialDate": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_initialDate": {
          "description": "Extensions for initialDate",
          "$ref": "#/definitions/Element"
        },
        "initialDateTime": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_initialDateTime": {
          "description": "Extensions for initialDateTime",
          "$ref": "#/definitions/Element"
        },
        "initialTime": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_initialTime": {
          "description": "Extensions for initialTime",
          "$ref": "#/definitions/Element"
        },
        "initialString": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_initialString": {
          "description": "Extensions for initialString",
          "$ref": "#/definitions/Element"
        },
        "initialUri": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_initialUri": {
          "description": "Extensions for initialUri",
          "$ref": "#/definitions/Element"
        },
        "initialAttachment": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "$ref": "#/definitions/Attachment"
        },
        "initialCoding": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "$ref": "#/definitions/Coding"
        },
        "initialQuantity": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "$ref": "#/definitions/Quantity"
        },
        "initialReference": {
          "description": "The value that should be defaulted when initially rendering the questionnaire for user input.",
          "$ref": "#/definitions/Reference"
        },
        "item": {
          "description": "Text, questions and other groups to be nested beneath a question or group.",
          "items": {
            "$ref": "#/definitions/Questionnaire_Item"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Questionnaire_EnableWhen": {
      "description": "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "question": {
          "description": "The linkId for the question whose answer (or lack of answer) governs whether this item is enabled.",
          "$ref": "#/definitions/string"
        },
        "_question": {
          "description": "Extensions for question",
          "$ref": "#/definitions/Element"
        },
        "hasAnswer": {
          "description": "An indication that this item should be enabled only if the specified question is answered (hasAnswer\u003dtrue) or not answered (hasAnswer\u003dfalse).",
          "$ref": "#/definitions/boolean"
        },
        "_hasAnswer": {
          "description": "Extensions for hasAnswer",
          "$ref": "#/definitions/Element"
        },
        "answerBoolean": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_answerBoolean": {
          "description": "Extensions for answerBoolean",
          "$ref": "#/definitions/Element"
        },
        "answerDecimal": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_answerDecimal": {
          "description": "Extensions for answerDecimal",
          "$ref": "#/definitions/Element"
        },
        "answerInteger": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_answerInteger": {
          "description": "Extensions for answerInteger",
          "$ref": "#/definitions/Element"
        },
        "answerDate": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_answerDate": {
          "description": "Extensions for answerDate",
          "$ref": "#/definitions/Element"
        },
        "answerDateTime": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_answerDateTime": {
          "description": "Extensions for answerDateTime",
          "$ref": "#/definitions/Element"
        },
        "answerTime": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_answerTime": {
          "description": "Extensions for answerTime",
          "$ref": "#/definitions/Element"
        },
        "answerString": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_answerString": {
          "description": "Extensions for answerString",
          "$ref": "#/definitions/Element"
        },
        "answerUri": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_answerUri": {
          "description": "Extensions for answerUri",
          "$ref": "#/definitions/Element"
        },
        "answerAttachment": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "$ref": "#/definitions/Attachment"
        },
        "answerCoding": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "$ref": "#/definitions/Coding"
        },
        "answerQuantity": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "$ref": "#/definitions/Quantity"
        },
        "answerReference": {
          "description": "An answer that the referenced question must match in order for the item to be enabled.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Questionnaire_Option": {
      "description": "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "valueInteger": {
          "description": "A potential answer that\u0027s allowed as the answer to this question.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueDate": {
          "description": "A potential answer that\u0027s allowed as the answer to this question.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_valueDate": {
          "description": "Extensions for valueDate",
          "$ref": "#/definitions/Element"
        },
        "valueTime": {
          "description": "A potential answer that\u0027s allowed as the answer to this question.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_valueTime": {
          "description": "Extensions for valueTime",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "A potential answer that\u0027s allowed as the answer to this question.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueCoding": {
          "description": "A potential answer that\u0027s allowed as the answer to this question.",
          "$ref": "#/definitions/Coding"
        },
        "initialSelected": {
          "description": "Indicates whether the option value is selected when the list of options is initially shown.",
          "$ref": "#/definitions/boolean"
        },
        "_initialSelected": {
          "description": "Extensions for initialSelected",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "QuestionnaireResponse": {
      "description": "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.",
      "properties": {
        "resourceType": {
          "description": "This is a QuestionnaireResponse resource",
          "const": "QuestionnaireResponse"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A business identifier assigned to a particular completed (or partially completed) questionnaire.",
          "$ref": "#/definitions/Identifier"
        },
        "basedOn": {
          "description": "The order, proposal or plan that is fulfilled in whole or in part by this QuestionnaireResponse.  For example, a ServiceRequest seeking an intake assessment or a decision support recommendation to assess for post-partum depression.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "partOf": {
          "description": "A procedure or observation that this questionnaire was performed as part of the execution of.  For example, the surgery a checklist was executed as part of.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "questionnaire": {
          "description": "The Questionnaire that defines and organizes the questions for which answers are being provided.",
          "$ref": "#/definitions/Reference"
        },
        "status": {
          "description": "The position of the questionnaire response within its overall lifecycle.",
          "enum": [
            "in-progress",
            "completed",
            "amended",
            "entered-in-error",
            "stopped"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "subject": {
          "description": "The subject of the questionnaire response.  This could be a patient, organization, practitioner, device, etc.  This is who/what the answers apply to, but is not necessarily the source of information.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter or episode of care with primary association to the questionnaire response.",
          "$ref": "#/definitions/Reference"
        },
        "authored": {
          "description": "The date and/or time that this set of answers were last changed.",
          "$ref": "#/definitions/dateTime"
        },
        "_authored": {
          "description": "Extensions for authored",
          "$ref": "#/definitions/Element"
        },
        "author": {
          "description": "Person who received the answers to the questions in the QuestionnaireResponse and recorded them in the system.",
          "$ref": "#/definitions/Reference"
        },
        "source": {
          "description": "The person who answered the questions about the subject.",
          "$ref": "#/definitions/Reference"
        },
        "item": {
          "description": "A group or question item from the original questionnaire for which answers are provided.",
          "items": {
            "$ref": "#/definitions/QuestionnaireResponse_Item"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "QuestionnaireResponse_Item": {
      "description": "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "linkId": {
          "description": "The item from the Questionnaire that corresponds to this item in the QuestionnaireResponse resource.",
          "$ref": "#/definitions/string"
        },
        "_linkId": {
          "description": "Extensions for linkId",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "A reference to an [[[ElementDefinition]]] that provides the details for the item.",
          "$ref": "#/definitions/uri"
        },
        "_definition": {
          "description": "Extensions for definition",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "Text that is displayed above the contents of the group or as the text of the question being answered.",
          "$ref": "#/definitions/string"
        },
        "_text": {
          "description": "Extensions for text",
          "$ref": "#/definitions/Element"
        },
        "subject": {
          "description": "More specific subject this section\u0027s answers are about, details the subject given in QuestionnaireResponse.",
          "$ref": "#/definitions/Reference"
        },
        "answer": {
          "description": "The respondent\u0027s answer(s) to the question.",
          "items": {
            "$ref": "#/definitions/QuestionnaireResponse_Answer"
          },
          "type": "array"
        },
        "item": {
          "description": "Questions or sub-groups nested beneath a question or group.",
          "items": {
            "$ref": "#/definitions/QuestionnaireResponse_Item"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "QuestionnaireResponse_Answer": {
      "description": "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "valueBoolean": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueDecimal": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_valueDecimal": {
          "description": "Extensions for valueDecimal",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueDate": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_valueDate": {
          "description": "Extensions for valueDate",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        },
        "valueTime": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_valueTime": {
          "description": "Extensions for valueTime",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueUri": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueUri": {
          "description": "Extensions for valueUri",
          "$ref": "#/definitions/Element"
        },
        "valueAttachment": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "$ref": "#/definitions/Attachment"
        },
        "valueCoding": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "$ref": "#/definitions/Coding"
        },
        "valueQuantity": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "$ref": "#/definitions/Quantity"
        },
        "valueReference": {
          "description": "The answer (or one of the answers) provided by the respondent to the question.",
          "$ref": "#/definitions/Reference"
        },
        "item": {
          "description": "Nested groups and/or questions found within this particular answer.",
          "items": {
            "$ref": "#/definitions/QuestionnaireResponse_Item"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "RelatedPerson": {
      "description": "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.",
      "properties": {
        "resourceType": {
          "description": "This is a RelatedPerson resource",
          "const": "RelatedPerson"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier for a person within a particular scope.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "Whether this related person record is in active use.",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "The patient this person is related to.",
          "$ref": "#/definitions/Reference"
        },
        "relationship": {
          "description": "The nature of the relationship between a patient and the related person.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "name": {
          "description": "A name associated with the person.",
          "items": {
            "$ref": "#/definitions/HumanName"
          },
          "type": "array"
        },
        "telecom": {
          "description": "A contact detail for the person, e.g. a telephone number or an email address.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "gender": {
          "description": "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.",
          "enum": [
            "male",
            "female",
            "other",
            "unknown"
          ]
        },
        "_gender": {
          "description": "Extensions for gender",
          "$ref": "#/definitions/Element"
        },
        "birthDate": {
          "description": "The date on which the related person was born.",
          "$ref": "#/definitions/date"
        },
        "_birthDate": {
          "description": "Extensions for birthDate",
          "$ref": "#/definitions/Element"
        },
        "address": {
          "description": "Address where the related person can be contacted or visited.",
          "items": {
            "$ref": "#/definitions/Address"
          },
          "type": "array"
        },
        "photo": {
          "description": "Image of the person.",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "type": "array"
        },
        "period": {
          "description": "The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false,
      "required": [
        "patient",
        "resourceType"
      ]
    },
    "RequestGroup": {
      "description": "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".",
      "properties": {
        "resourceType": {
          "description": "This is a RequestGroup resource",
          "const": "RequestGroup"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Allows a service to provide a unique, business identifier for the request.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "definition": {
          "description": "A protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "A plan, proposal or order that is fulfilled in whole or in part by this request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "replaces": {
          "description": "Completed or terminated request(s) whose function is taken by this new request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "groupIdentifier": {
          "description": "A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "The current state of the request. For request groups, the status reflects the status of all the requests in the group.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "intent": {
          "description": "Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.",
          "$ref": "#/definitions/code"
        },
        "_intent": {
          "description": "Extensions for intent",
          "$ref": "#/definitions/Element"
        },
        "priority": {
          "description": "Indicates how quickly the request should be addressed with respect to other requests.",
          "$ref": "#/definitions/code"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A code that identifies what the overall request group is.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The subject for which the request group was created.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "Describes the context of the request group, if any.",
          "$ref": "#/definitions/Reference"
        },
        "authoredOn": {
          "description": "Indicates when the request group was created.",
          "$ref": "#/definitions/dateTime"
        },
        "_authoredOn": {
          "description": "Extensions for authoredOn",
          "$ref": "#/definitions/Element"
        },
        "author": {
          "description": "Provides a reference to the author of the request group.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "Describes the reason for the request group in coded or textual form.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Indicates another resource whose existence justifies this request group.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "note": {
          "description": "Provides a mechanism to communicate additional information about the response.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "action": {
          "description": "The actions, if any, produced by the evaluation of the artifact.",
          "items": {
            "$ref": "#/definitions/RequestGroup_Action"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "RequestGroup_Action": {
      "description": "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "prefix": {
          "description": "A user-visible prefix for the action.",
          "$ref": "#/definitions/string"
        },
        "_prefix": {
          "description": "Extensions for prefix",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "The title of the action displayed to a user.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A short description of the action used to provide a summary to display to the user.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "textEquivalent": {
          "description": "A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.",
          "$ref": "#/definitions/string"
        },
        "_textEquivalent": {
          "description": "Extensions for textEquivalent",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a the section of a documentation template.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "documentation": {
          "description": "Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "condition": {
          "description": "An expression that describes applicability criteria, or start/stop conditions for the action.",
          "items": {
            "$ref": "#/definitions/RequestGroup_Condition"
          },
          "type": "array"
        },
        "relatedAction": {
          "description": "A relationship to another action such as \"before\" or \"30-60 minutes after start of\".",
          "items": {
            "$ref": "#/definitions/RequestGroup_RelatedAction"
          },
          "type": "array"
        },
        "timingDateTime": {
          "description": "An optional value describing when the action should be performed.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_timingDateTime": {
          "description": "Extensions for timingDateTime",
          "$ref": "#/definitions/Element"
        },
        "timingAge": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Age"
        },
        "timingPeriod": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Period"
        },
        "timingDuration": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Duration"
        },
        "timingRange": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Range"
        },
        "timingTiming": {
          "description": "An optional value describing when the action should be performed.",
          "$ref": "#/definitions/Timing"
        },
        "participant": {
          "description": "The participant that should perform or be responsible for this action.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of action to perform (create, update, remove).",
          "$ref": "#/definitions/Coding"
        },
        "groupingBehavior": {
          "description": "Defines the grouping behavior for the action and its children.",
          "$ref": "#/definitions/code"
        },
        "_groupingBehavior": {
          "description": "Extensions for groupingBehavior",
          "$ref": "#/definitions/Element"
        },
        "selectionBehavior": {
          "description": "Defines the selection behavior for the action and its children.",
          "$ref": "#/definitions/code"
        },
        "_selectionBehavior": {
          "description": "Extensions for selectionBehavior",
          "$ref": "#/definitions/Element"
        },
        "requiredBehavior": {
          "description": "Defines the requiredness behavior for the action.",
          "$ref": "#/definitions/code"
        },
        "_requiredBehavior": {
          "description": "Extensions for requiredBehavior",
          "$ref": "#/definitions/Element"
        },
        "precheckBehavior": {
          "description": "Defines whether the action should usually be preselected.",
          "$ref": "#/definitions/code"
        },
        "_precheckBehavior": {
          "description": "Extensions for precheckBehavior",
          "$ref": "#/definitions/Element"
        },
        "cardinalityBehavior": {
          "description": "Defines whether the action can be selected multiple times.",
          "$ref": "#/definitions/code"
        },
        "_cardinalityBehavior": {
          "description": "Extensions for cardinalityBehavior",
          "$ref": "#/definitions/Element"
        },
        "resource": {
          "description": "The resource that is the target of the action (e.g. CommunicationRequest).",
          "$ref": "#/definitions/Reference"
        },
        "action": {
          "description": "Sub actions.",
          "items": {
            "$ref": "#/definitions/RequestGroup_Action"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "RequestGroup_Condition": {
      "description": "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "kind": {
          "description": "The kind of condition.",
          "$ref": "#/definitions/code"
        },
        "_kind": {
          "description": "Extensions for kind",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A brief, natural language description of the condition that effectively communicates the intended semantics.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The media type of the language for the expression.",
          "$ref": "#/definitions/string"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "An expression that returns true or false, indicating whether or not the condition is satisfied.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "RequestGroup_RelatedAction": {
      "description": "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "actionId": {
          "description": "The element id of the action this is related to.",
          "$ref": "#/definitions/id"
        },
        "_actionId": {
          "description": "Extensions for actionId",
          "$ref": "#/definitions/Element"
        },
        "relationship": {
          "description": "The relationship of this action to the related action.",
          "$ref": "#/definitions/code"
        },
        "_relationship": {
          "description": "Extensions for relationship",
          "$ref": "#/definitions/Element"
        },
        "offsetDuration": {
          "description": "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.",
          "$ref": "#/definitions/Duration"
        },
        "offsetRange": {
          "description": "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.",
          "$ref": "#/definitions/Range"
        }
      },
      "additionalProperties": false
    },
    "ResearchStudy": {
      "description": "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge.  This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques.  A ResearchStudy involves the gathering of information about human or animal subjects.",
      "properties": {
        "resourceType": {
          "description": "This is a ResearchStudy resource",
          "const": "ResearchStudy"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifiers assigned to this research study by the sponsor or other systems.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "title": {
          "description": "A short, descriptive user-friendly label for the study.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "protocol": {
          "description": "The set of steps expected to be performed as part of the execution of the study.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "partOf": {
          "description": "A larger research study of which this particular study is a component or step.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "The current state of the study.",
          "enum": [
            "active",
            "administratively-completed",
            "approved",
            "closed-to-accrual",
            "closed-to-accrual-and-intervention",
            "completed",
            "disapproved",
            "in-review",
            "temporarily-closed-to-accrual",
            "temporarily-closed-to-accrual-and-intervention",
            "withdrawn"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "primaryPurposeType": {
          "description": "The type of study based upon the intent of the study\u0027s activities. A classification of the intent of the study.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "phase": {
          "description": "The stage in the progression of a therapy from initial experimental use in humans in clinical trials to post-market evaluation.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "category": {
          "description": "Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "focus": {
          "description": "The medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "condition": {
          "description": "The condition that is the focus of the study.  For example, In a study to examine risk factors for Lupus, might have as an inclusion criterion \"healthy volunteer\", but the target condition code would be a Lupus SNOMED code.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "contact": {
          "description": "Contact details to assist a user in learning more about or engaging with the study.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "relatedArtifact": {
          "description": "Citations, references and other related documents.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "keyword": {
          "description": "Key terms to aid in searching for or filtering the study.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "location": {
          "description": "Indicates a country, state or other region where the study is taking place.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "description": {
          "description": "A full description of how the study is being conducted.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "enrollment": {
          "description": "Reference to a Group that defines the criteria for and quantity of subjects participating in the study.  E.g. \" 200 female Europeans between the ages of 20 and 45 with early onset diabetes\".",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "period": {
          "description": "Identifies the start date and the expected (or actual, depending on status) end date for the study.",
          "$ref": "#/definitions/Period"
        },
        "sponsor": {
          "description": "An organization that initiates the investigation and is legally responsible for the study.",
          "$ref": "#/definitions/Reference"
        },
        "principalInvestigator": {
          "description": "A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation.",
          "$ref": "#/definitions/Reference"
        },
        "site": {
          "description": "A facility in which study activities are conducted.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "reasonStopped": {
          "description": "A description and/or code explaining the premature termination of the study.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "note": {
          "description": "Comments made about the study by the performer, subject or other participants.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "arm": {
          "description": "Describes an expected sequence of events for one of the participants of a study.  E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up.",
          "items": {
            "$ref": "#/definitions/ResearchStudy_Arm"
          },
          "type": "array"
        },
        "objective": {
          "description": "A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study.",
          "items": {
            "$ref": "#/definitions/ResearchStudy_Objective"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ResearchStudy_Arm": {
      "description": "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge.  This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques.  A ResearchStudy involves the gathering of information about human or animal subjects.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Unique, human-readable label for this arm of the study.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Categorization of study arm, e.g. experimental, active comparator, placebo comparater.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "A succinct description of the path through the study that would be followed by a subject adhering to this arm.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ResearchStudy_Objective": {
      "description": "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge.  This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques.  A ResearchStudy involves the gathering of information about human or animal subjects.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Unique, human-readable label for this objective of the study.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The kind of study objective.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "ResearchSubject": {
      "description": "A physical entity which is the primary unit of operational and/or administrative interest in a study.",
      "properties": {
        "resourceType": {
          "description": "This is a ResearchSubject resource",
          "const": "ResearchSubject"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifiers assigned to this research subject for a study.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The current state of the subject.",
          "enum": [
            "candidate",
            "eligible",
            "follow-up",
            "ineligible",
            "not-registered",
            "off-study",
            "on-study",
            "on-study-intervention",
            "on-study-observation",
            "pending-on-study",
            "potential-candidate",
            "screening",
            "withdrawn"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "The dates the subject began and ended their participation in the study.",
          "$ref": "#/definitions/Period"
        },
        "study": {
          "description": "Reference to the study the subject is participating in.",
          "$ref": "#/definitions/Reference"
        },
        "individual": {
          "description": "The record of the person or animal who is involved in the study.",
          "$ref": "#/definitions/Reference"
        },
        "assignedArm": {
          "description": "The name of the arm in the study the subject is expected to follow as part of this study.",
          "$ref": "#/definitions/string"
        },
        "_assignedArm": {
          "description": "Extensions for assignedArm",
          "$ref": "#/definitions/Element"
        },
        "actualArm": {
          "description": "The name of the arm in the study the subject actually followed as part of this study.",
          "$ref": "#/definitions/string"
        },
        "_actualArm": {
          "description": "Extensions for actualArm",
          "$ref": "#/definitions/Element"
        },
        "consent": {
          "description": "A record of the patient\u0027s informed agreement to participate in the study.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "study",
        "individual",
        "resourceType"
      ]
    },
    "RiskAssessment": {
      "description": "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.",
      "properties": {
        "resourceType": {
          "description": "This is a RiskAssessment resource",
          "const": "RiskAssessment"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Business identifier assigned to the risk assessment.",
          "$ref": "#/definitions/Identifier"
        },
        "basedOn": {
          "description": "A reference to the request that is fulfilled by this risk assessment.",
          "$ref": "#/definitions/Reference"
        },
        "parent": {
          "description": "A reference to a resource that this risk assessment is part of, such as a Procedure.",
          "$ref": "#/definitions/Reference"
        },
        "status": {
          "description": "The status of the RiskAssessment, using the same statuses as an Observation.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "method": {
          "description": "The algorithm, process or mechanism used to evaluate the risk.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "code": {
          "description": "The type of the risk assessment performed.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "The patient or group the risk assessment applies to.",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The encounter where the assessment was performed.",
          "$ref": "#/definitions/Reference"
        },
        "occurrenceDateTime": {
          "description": "The date (and possibly time) the risk assessment was performed.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_occurrenceDateTime": {
          "description": "Extensions for occurrenceDateTime",
          "$ref": "#/definitions/Element"
        },
        "occurrencePeriod": {
          "description": "The date (and possibly time) the risk assessment was performed.",
          "$ref": "#/definitions/Period"
        },
        "condition": {
          "description": "For assessments or prognosis specific to a particular condition, indicates the condition being assessed.",
          "$ref": "#/definitions/Reference"
        },
        "performer": {
          "description": "The provider or software application that performed the assessment.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCodeableConcept": {
          "description": "The reason the risk assessment was performed.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reasonReference": {
          "description": "The reason the risk assessment was performed.",
          "$ref": "#/definitions/Reference"
        },
        "basis": {
          "description": "Indicates the source data considered as part of the assessment (FamilyHistory, Observations, Procedures, Conditions, etc.).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "prediction": {
          "description": "Describes the expected outcome for the subject.",
          "items": {
            "$ref": "#/definitions/RiskAssessment_Prediction"
          },
          "type": "array"
        },
        "mitigation": {
          "description": "A description of the steps that might be taken to reduce the identified risk(s).",
          "$ref": "#/definitions/string"
        },
        "_mitigation": {
          "description": "Extensions for mitigation",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Additional comments about the risk assessment.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "RiskAssessment_Prediction": {
      "description": "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "outcome": {
          "description": "One of the potential outcomes for the patient (e.g. remission, death,  a particular condition).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "probabilityDecimal": {
          "description": "How likely is the outcome (in the specified timeframe).",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_probabilityDecimal": {
          "description": "Extensions for probabilityDecimal",
          "$ref": "#/definitions/Element"
        },
        "probabilityRange": {
          "description": "How likely is the outcome (in the specified timeframe).",
          "$ref": "#/definitions/Range"
        },
        "qualitativeRisk": {
          "description": "How likely is the outcome (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, high).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "relativeRisk": {
          "description": "Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general.  (Numbers greater than 1 \u003d higher risk than the population, numbers less than 1 \u003d lower risk.).",
          "$ref": "#/definitions/decimal"
        },
        "_relativeRisk": {
          "description": "Extensions for relativeRisk",
          "$ref": "#/definitions/Element"
        },
        "whenPeriod": {
          "description": "Indicates the period of time or age range of the subject to which the specified probability applies.",
          "$ref": "#/definitions/Period"
        },
        "whenRange": {
          "description": "Indicates the period of time or age range of the subject to which the specified probability applies.",
          "$ref": "#/definitions/Range"
        },
        "rationale": {
          "description": "Additional information explaining the basis for the prediction.",
          "$ref": "#/definitions/string"
        },
        "_rationale": {
          "description": "Extensions for rationale",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "outcome"
      ]
    },
    "Schedule": {
      "description": "A container for slots of time that may be available for booking appointments.",
      "properties": {
        "resourceType": {
          "description": "This is a Schedule resource",
          "const": "Schedule"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "External Ids for this item.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "active": {
          "description": "Whether this schedule record is in active use, or should not be used (such as was entered in error).",
          "$ref": "#/definitions/boolean"
        },
        "_active": {
          "description": "Extensions for active",
          "$ref": "#/definitions/Element"
        },
        "serviceCategory": {
          "description": "A broad categorisation of the service that is to be performed during this appointment.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "serviceType": {
          "description": "The specific service that is to be performed during this appointment.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specialty": {
          "description": "The specialty of a practitioner that would be required to perform the service requested in this appointment.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "actor": {
          "description": "The resource this Schedule resource is providing availability information for. These are expected to usually be one of HealthcareService, Location, Practitioner, PractitionerRole, Device, Patient or RelatedPerson.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "planningHorizon": {
          "description": "The period of time that the slots that are attached to this Schedule resource cover (even if none exist). These  cover the amount of time that an organization\u0027s planning horizon; the interval for which they are currently accepting appointments. This does not define a \"template\" for planning outside these dates.",
          "$ref": "#/definitions/Period"
        },
        "comment": {
          "description": "Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "actor",
        "resourceType"
      ]
    },
    "SearchParameter": {
      "description": "A search parameter that defines a named search item that can be used to search/filter on a resource.",
      "properties": {
        "resourceType": {
          "description": "This is a SearchParameter resource",
          "const": "SearchParameter"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this search parameter is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the search parameter when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the search parameter author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the search parameter. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this search parameter. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the search parameter was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the search parameter.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate search parameter instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the search parameter is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this search parameter is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "The code used in the URL or the parameter name in a parameters resource for this search parameter.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "base": {
          "description": "The base resource type(s) that this search parameter can be used against.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_base": {
          "description": "Extensions for base",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of value a search parameter refers to, and how the content is interpreted.",
          "enum": [
            "number",
            "date",
            "string",
            "token",
            "reference",
            "composite",
            "quantity",
            "uri"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "derivedFrom": {
          "description": "Where this search parameter is originally defined. If a derivedFrom is provided, then the details in the search parameter must be consistent with the definition from which it is defined. I.e. the parameter should have the same meaning, and (usually) the functionality should be a proper subset of the underlying search parameter.",
          "$ref": "#/definitions/uri"
        },
        "_derivedFrom": {
          "description": "Extensions for derivedFrom",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A free text natural language description of the search parameter from a consumer\u0027s perspective. and how it used.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "A FHIRPath expression that returns a set of elements for the search parameter.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        },
        "xpath": {
          "description": "An XPath expression that returns a set of elements for the search parameter.",
          "$ref": "#/definitions/string"
        },
        "_xpath": {
          "description": "Extensions for xpath",
          "$ref": "#/definitions/Element"
        },
        "xpathUsage": {
          "description": "How the search parameter relates to the set of elements returned by evaluating the xpath query.",
          "enum": [
            "normal",
            "phonetic",
            "nearby",
            "distance",
            "other"
          ]
        },
        "_xpathUsage": {
          "description": "Extensions for xpathUsage",
          "$ref": "#/definitions/Element"
        },
        "target": {
          "description": "Types of resource (if a resource is referenced).",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_target": {
          "description": "Extensions for target",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "comparator": {
          "description": "Comparators supported for the search parameter.",
          "items": {
            "enum": [
              "eq",
              "ne",
              "gt",
              "lt",
              "ge",
              "le",
              "sa",
              "eb",
              "ap"
            ]
          },
          "type": "array"
        },
        "_comparator": {
          "description": "Extensions for comparator",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "modifier": {
          "description": "A modifier supported for the search parameter.",
          "items": {
            "enum": [
              "missing",
              "exact",
              "contains",
              "not",
              "text",
              "in",
              "not-in",
              "below",
              "above",
              "type"
            ]
          },
          "type": "array"
        },
        "_modifier": {
          "description": "Extensions for modifier",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "chain": {
          "description": "Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from SearchParameter.code for a parameter on the target resource type.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_chain": {
          "description": "Extensions for chain",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "component": {
          "description": "Used to define the parts of a composite search parameter.",
          "items": {
            "$ref": "#/definitions/SearchParameter_Component"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "SearchParameter_Component": {
      "description": "A search parameter that defines a named search item that can be used to search/filter on a resource.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "definition": {
          "description": "The definition of the search parameter that describes this part.",
          "$ref": "#/definitions/Reference"
        },
        "expression": {
          "description": "A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "definition"
      ]
    },
    "Sequence": {
      "description": "Raw data describing a biological sequence.",
      "properties": {
        "resourceType": {
          "description": "This is a Sequence resource",
          "const": "Sequence"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A unique identifier for this particular sequence instance. This is a FHIR-defined id.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "type": {
          "description": "Amino Acid Sequence/ DNA Sequence / RNA Sequence.",
          "enum": [
            "aa",
            "dna",
            "rna"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "coordinateSystem": {
          "description": "Whether the sequence is numbered starting at 0 (0-based numbering or coordinates, inclusive start, exclusive end) or starting at 1 (1-based numbering, inclusive start and inclusive end).",
          "$ref": "#/definitions/integer"
        },
        "_coordinateSystem": {
          "description": "Extensions for coordinateSystem",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "The patient whose sequencing results are described by this resource.",
          "$ref": "#/definitions/Reference"
        },
        "specimen": {
          "description": "Specimen used for sequencing.",
          "$ref": "#/definitions/Reference"
        },
        "device": {
          "description": "The method for sequencing, for example, chip information.",
          "$ref": "#/definitions/Reference"
        },
        "performer": {
          "description": "The organization or lab that should be responsible for this result.",
          "$ref": "#/definitions/Reference"
        },
        "quantity": {
          "description": "The number of copies of the seqeunce of interest. (RNASeq).",
          "$ref": "#/definitions/Quantity"
        },
        "referenceSeq": {
          "description": "A sequence that is used as a reference to describe variants that are present in a sequence analyzed.",
          "$ref": "#/definitions/Sequence_ReferenceSeq"
        },
        "variant": {
          "description": "The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.)  It can represent some complex mutation or segment variation with the assist of CIGAR string.",
          "items": {
            "$ref": "#/definitions/Sequence_Variant"
          },
          "type": "array"
        },
        "observedSeq": {
          "description": "Sequence that was observed. It is the result marked by referenceSeq along with variant records on referenceSeq. This shall starts from referenceSeq.windowStart and end by referenceSeq.windowEnd.",
          "$ref": "#/definitions/string"
        },
        "_observedSeq": {
          "description": "Extensions for observedSeq",
          "$ref": "#/definitions/Element"
        },
        "quality": {
          "description": "An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)).",
          "items": {
            "$ref": "#/definitions/Sequence_Quality"
          },
          "type": "array"
        },
        "readCoverage": {
          "description": "Coverage (read depth or depth) is the average number of reads representing a given nucleotide in the reconstructed sequence.",
          "$ref": "#/definitions/integer"
        },
        "_readCoverage": {
          "description": "Extensions for readCoverage",
          "$ref": "#/definitions/Element"
        },
        "repository": {
          "description": "Configurations of the external repository. The repository shall store target\u0027s observedSeq or records related with target\u0027s observedSeq.",
          "items": {
            "$ref": "#/definitions/Sequence_Repository"
          },
          "type": "array"
        },
        "pointer": {
          "description": "Pointer to next atomic sequence which at most contains one variant.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "structureVariant": {
          "description": "Information about chromosome structure variation.",
          "items": {
            "$ref": "#/definitions/Sequence_StructureVariant"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Sequence_ReferenceSeq": {
      "description": "Raw data describing a biological sequence.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "chromosome": {
          "description": "Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "genomeBuild": {
          "description": "The Genome Build used for reference, following GRCh build versions e.g. \u0027GRCh 37\u0027.  Version number must be included if a versioned release of a primary build was used.",
          "$ref": "#/definitions/string"
        },
        "_genomeBuild": {
          "description": "Extensions for genomeBuild",
          "$ref": "#/definitions/Element"
        },
        "referenceSeqId": {
          "description": "Reference identifier of reference sequence submitted to NCBI. It must match the type in the Sequence.type field. For example, the prefix, “NG_” identifies reference sequence for genes, “NM_” for messenger RNA transcripts, and “NP_” for amino acid sequences.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "referenceSeqPointer": {
          "description": "A Pointer to another Sequence entity as reference sequence.",
          "$ref": "#/definitions/Reference"
        },
        "referenceSeqString": {
          "description": "A string like \"ACGT\".",
          "$ref": "#/definitions/string"
        },
        "_referenceSeqString": {
          "description": "Extensions for referenceSeqString",
          "$ref": "#/definitions/Element"
        },
        "strand": {
          "description": "Directionality of DNA sequence. Available values are \"1\" for the plus strand (5\u0027 to 3\u0027)/Watson/Sense/positive  and \"-1\" for the minus strand(3\u0027 to 5\u0027)/Crick/Antisense/negative.",
          "$ref": "#/definitions/integer"
        },
        "_strand": {
          "description": "Extensions for strand",
          "$ref": "#/definitions/Element"
        },
        "windowStart": {
          "description": "Start position of the window on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.",
          "$ref": "#/definitions/integer"
        },
        "_windowStart": {
          "description": "Extensions for windowStart",
          "$ref": "#/definitions/Element"
        },
        "windowEnd": {
          "description": "End position of the window on the reference sequence. If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.",
          "$ref": "#/definitions/integer"
        },
        "_windowEnd": {
          "description": "Extensions for windowEnd",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Sequence_Variant": {
      "description": "Raw data describing a biological sequence.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "start": {
          "description": "Start position of the variant on the  reference sequence.If the coordinate system is either 0-based or 1-based, then start position is inclusive.",
          "$ref": "#/definitions/integer"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "end": {
          "description": "End position of the variant on the reference sequence.If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.",
          "$ref": "#/definitions/integer"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "#/definitions/Element"
        },
        "observedAllele": {
          "description": "An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)).  Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed  sequence. When the sequence  type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.",
          "$ref": "#/definitions/string"
        },
        "_observedAllele": {
          "description": "Extensions for observedAllele",
          "$ref": "#/definitions/Element"
        },
        "referenceAllele": {
          "description": "An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence  type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.",
          "$ref": "#/definitions/string"
        },
        "_referenceAllele": {
          "description": "Extensions for referenceAllele",
          "$ref": "#/definitions/Element"
        },
        "cigar": {
          "description": "Extended CIGAR string for aligning the sequence with reference bases. See detailed documentation [here](http://support.illumina.com/help/SequencingAnalysisWorkflow/Content/Vault/Informatics/Sequencing_Analysis/CASAVA/swSEQ_mCA_ExtendedCIGARFormat.htm).",
          "$ref": "#/definitions/string"
        },
        "_cigar": {
          "description": "Extensions for cigar",
          "$ref": "#/definitions/Element"
        },
        "variantPointer": {
          "description": "A pointer to an Observation containing variant information.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "Sequence_Quality": {
      "description": "Raw data describing a biological sequence.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "INDEL / SNP / Undefined variant.",
          "enum": [
            "indel",
            "snp",
            "unknown"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "standardSequence": {
          "description": "Gold standard sequence used for comparing against.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "start": {
          "description": "Start position of the sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.",
          "$ref": "#/definitions/integer"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "end": {
          "description": "End position of the sequence.If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.",
          "$ref": "#/definitions/integer"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "#/definitions/Element"
        },
        "score": {
          "description": "The score of an experimentally derived feature such as a p-value ([SO:0001685](http://www.sequenceontology.org/browser/current_svn/term/SO:0001685)).",
          "$ref": "#/definitions/Quantity"
        },
        "method": {
          "description": "Which method is used to get sequence quality.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "truthTP": {
          "description": "True positives, from the perspective of the truth data, i.e. the number of sites in the Truth Call Set for which there are paths through the Query Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event.",
          "$ref": "#/definitions/decimal"
        },
        "_truthTP": {
          "description": "Extensions for truthTP",
          "$ref": "#/definitions/Element"
        },
        "queryTP": {
          "description": "True positives, from the perspective of the query data, i.e. the number of sites in the Query Call Set for which there are paths through the Truth Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event.",
          "$ref": "#/definitions/decimal"
        },
        "_queryTP": {
          "description": "Extensions for queryTP",
          "$ref": "#/definitions/Element"
        },
        "truthFN": {
          "description": "False negatives, i.e. the number of sites in the Truth Call Set for which there is no path through the Query Call Set that is consistent with all of the alleles at this site, or sites for which there is an inaccurate genotype call for the event. Sites with correct variant but incorrect genotype are counted here.",
          "$ref": "#/definitions/decimal"
        },
        "_truthFN": {
          "description": "Extensions for truthFN",
          "$ref": "#/definitions/Element"
        },
        "queryFP": {
          "description": "False positives, i.e. the number of sites in the Query Call Set for which there is no path through the Truth Call Set that is consistent with this site. Sites with correct variant but incorrect genotype are counted here.",
          "$ref": "#/definitions/decimal"
        },
        "_queryFP": {
          "description": "Extensions for queryFP",
          "$ref": "#/definitions/Element"
        },
        "gtFP": {
          "description": "The number of false positives where the non-REF alleles in the Truth and Query Call Sets match (i.e. cases where the truth is 1/1 and the query is 0/1 or similar).",
          "$ref": "#/definitions/decimal"
        },
        "_gtFP": {
          "description": "Extensions for gtFP",
          "$ref": "#/definitions/Element"
        },
        "precision": {
          "description": "QUERY.TP / (QUERY.TP + QUERY.FP).",
          "$ref": "#/definitions/decimal"
        },
        "_precision": {
          "description": "Extensions for precision",
          "$ref": "#/definitions/Element"
        },
        "recall": {
          "description": "TRUTH.TP / (TRUTH.TP + TRUTH.FN).",
          "$ref": "#/definitions/decimal"
        },
        "_recall": {
          "description": "Extensions for recall",
          "$ref": "#/definitions/Element"
        },
        "fScore": {
          "description": "Harmonic mean of Recall and Precision, computed as: 2 * precision * recall / (precision + recall).",
          "$ref": "#/definitions/decimal"
        },
        "_fScore": {
          "description": "Extensions for fScore",
          "$ref": "#/definitions/Element"
        },
        "roc": {
          "description": "Receiver Operator Characteristic (ROC) Curve  to give sensitivity/specificity tradeoff.",
          "$ref": "#/definitions/Sequence_Roc"
        }
      },
      "additionalProperties": false
    },
    "Sequence_Roc": {
      "description": "Raw data describing a biological sequence.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "score": {
          "description": "Invidual data point representing the GQ (genotype quality) score threshold.",
          "items": {
            "$ref": "#/definitions/integer"
          },
          "type": "array"
        },
        "_score": {
          "description": "Extensions for score",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "numTP": {
          "description": "The number of true positives if the GQ score threshold was set to \"score\" field value.",
          "items": {
            "$ref": "#/definitions/integer"
          },
          "type": "array"
        },
        "_numTP": {
          "description": "Extensions for numTP",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "numFP": {
          "description": "The number of false positives if the GQ score threshold was set to \"score\" field value.",
          "items": {
            "$ref": "#/definitions/integer"
          },
          "type": "array"
        },
        "_numFP": {
          "description": "Extensions for numFP",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "numFN": {
          "description": "The number of false negatives if the GQ score threshold was set to \"score\" field value.",
          "items": {
            "$ref": "#/definitions/integer"
          },
          "type": "array"
        },
        "_numFN": {
          "description": "Extensions for numFN",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "precision": {
          "description": "Calculated precision if the GQ score threshold was set to \"score\" field value.",
          "items": {
            "$ref": "#/definitions/decimal"
          },
          "type": "array"
        },
        "_precision": {
          "description": "Extensions for precision",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "sensitivity": {
          "description": "Calculated sensitivity if the GQ score threshold was set to \"score\" field value.",
          "items": {
            "$ref": "#/definitions/decimal"
          },
          "type": "array"
        },
        "_sensitivity": {
          "description": "Extensions for sensitivity",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "fMeasure": {
          "description": "Calculated fScore if the GQ score threshold was set to \"score\" field value.",
          "items": {
            "$ref": "#/definitions/decimal"
          },
          "type": "array"
        },
        "_fMeasure": {
          "description": "Extensions for fMeasure",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Sequence_Repository": {
      "description": "Raw data describing a biological sequence.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Click and see / RESTful API / Need login to see / RESTful API with authentication / Other ways to see resource.",
          "enum": [
            "directlink",
            "openapi",
            "login",
            "oauth",
            "other"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "url": {
          "description": "URI of an external repository which contains further details about the genetics data.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "URI of an external repository which contains further details about the genetics data.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "datasetId": {
          "description": "Id of the variant in this external repository. The server will understand how to use this id to call for more info about datasets in external repository.",
          "$ref": "#/definitions/string"
        },
        "_datasetId": {
          "description": "Extensions for datasetId",
          "$ref": "#/definitions/Element"
        },
        "variantsetId": {
          "description": "Id of the variantset in this external repository. The server will understand how to use this id to call for more info about variantsets in external repository.",
          "$ref": "#/definitions/string"
        },
        "_variantsetId": {
          "description": "Extensions for variantsetId",
          "$ref": "#/definitions/Element"
        },
        "readsetId": {
          "description": "Id of the read in this external repository.",
          "$ref": "#/definitions/string"
        },
        "_readsetId": {
          "description": "Extensions for readsetId",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Sequence_StructureVariant": {
      "description": "Raw data describing a biological sequence.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "precision": {
          "description": "Identify the exact boundaries of variant sequences. Each type of structure variant requires the DNA duplex to be broken and rejoined, and this creates a new sequence of bases at the rejoined sites, known as breakpoints or boundaries.",
          "$ref": "#/definitions/string"
        },
        "_precision": {
          "description": "Extensions for precision",
          "$ref": "#/definitions/Element"
        },
        "reportedaCGHRatio": {
          "description": "Structural Variant reported aCGH ratio.",
          "$ref": "#/definitions/decimal"
        },
        "_reportedaCGHRatio": {
          "description": "Extensions for reportedaCGHRatio",
          "$ref": "#/definitions/Element"
        },
        "length": {
          "description": "Length of the variant choromosome.",
          "$ref": "#/definitions/integer"
        },
        "_length": {
          "description": "Extensions for length",
          "$ref": "#/definitions/Element"
        },
        "outer": {
          "description": "Structural variant outer.",
          "$ref": "#/definitions/Sequence_Outer"
        },
        "inner": {
          "description": "Structural variant inner.",
          "$ref": "#/definitions/Sequence_Inner"
        }
      },
      "additionalProperties": false
    },
    "Sequence_Outer": {
      "description": "Raw data describing a biological sequence.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "start": {
          "description": "Structural Variant Outer Start.If the coordinate system is either 0-based or 1-based, then start position is inclusive.",
          "$ref": "#/definitions/integer"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "end": {
          "description": "Structural Variant Outer End. If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.",
          "$ref": "#/definitions/integer"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Sequence_Inner": {
      "description": "Raw data describing a biological sequence.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "start": {
          "description": "Structural Variant Inner Start.If the coordinate system is either 0-based or 1-based, then start position is inclusive.",
          "$ref": "#/definitions/integer"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "end": {
          "description": "Structural Variant Inner End. If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.",
          "$ref": "#/definitions/integer"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ServiceDefinition": {
      "description": "The ServiceDefinition describes a unit of decision support functionality that is made available as a service, such as immunization modules or drug-drug interaction checking.",
      "properties": {
        "resourceType": {
          "description": "This is a ServiceDefinition resource",
          "const": "ServiceDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this service definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this service definition is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this service definition when it is represented in other formats, or referenced in a specification, model, design or an instance. This is used for CMS or NQF identifiers for a measure artifact. Note that at least one identifier is required for non-experimental active artifacts.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the service definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the service definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the service definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the service definition.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this service definition. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this service definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the service definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the service definition changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the service definition.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A free text natural language description of the service definition from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "Explaination of why this service definition is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "usage": {
          "description": "A detailed description of how the module is used from a clinical perspective.",
          "$ref": "#/definitions/string"
        },
        "_usage": {
          "description": "Extensions for usage",
          "$ref": "#/definitions/Element"
        },
        "approvalDate": {
          "description": "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.",
          "$ref": "#/definitions/date"
        },
        "_approvalDate": {
          "description": "Extensions for approvalDate",
          "$ref": "#/definitions/Element"
        },
        "lastReviewDate": {
          "description": "The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn\u0027t change the original approval date.",
          "$ref": "#/definitions/date"
        },
        "_lastReviewDate": {
          "description": "Extensions for lastReviewDate",
          "$ref": "#/definitions/Element"
        },
        "effectivePeriod": {
          "description": "The period during which the service definition content was or is planned to be in active use.",
          "$ref": "#/definitions/Period"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate service definition instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the service definition is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "topic": {
          "description": "Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "contributor": {
          "description": "A contributor to the content of the module, including authors, editors, reviewers, and endorsers.",
          "items": {
            "$ref": "#/definitions/Contributor"
          },
          "type": "array"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "copyright": {
          "description": "A copyright statement relating to the service definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the service definition.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "relatedArtifact": {
          "description": "Related resources such as additional documentation, justification, or bibliographic references.",
          "items": {
            "$ref": "#/definitions/RelatedArtifact"
          },
          "type": "array"
        },
        "trigger": {
          "description": "The trigger element defines when the rule should be invoked. This information is used by consumers of the rule to determine how to integrate the rule into a specific workflow.",
          "items": {
            "$ref": "#/definitions/TriggerDefinition"
          },
          "type": "array"
        },
        "dataRequirement": {
          "description": "Data requirements are a machine processable description of the data required by the module in order to perform a successful evaluation.",
          "items": {
            "$ref": "#/definitions/DataRequirement"
          },
          "type": "array"
        },
        "operationDefinition": {
          "description": "A reference to the operation that is used to invoke this service.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ServiceRequest": {
      "description": "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.",
      "properties": {
        "resourceType": {
          "description": "This is a ServiceRequest resource",
          "const": "ServiceRequest"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "instantiates": {
          "description": "Protocol or definition followed by this request.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_instantiates": {
          "description": "Extensions for instantiates",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "basedOn": {
          "description": "Plan/proposal/order fulfilled by this request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "replaces": {
          "description": "The request takes the place of the referenced completed or terminated request(s).",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "requisition": {
          "description": "A shared identifier common to all service requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "The status of the order.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "intent": {
          "description": "Whether the request is a proposal, plan, an original order or a reflex order.",
          "$ref": "#/definitions/code"
        },
        "_intent": {
          "description": "Extensions for intent",
          "$ref": "#/definitions/Element"
        },
        "priority": {
          "description": "Indicates how quickly the ServiceRequest should be addressed with respect to other requests.",
          "$ref": "#/definitions/code"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        },
        "doNotPerform": {
          "description": "Set this to true if the record is saying that the service/procedure should NOT be performed.",
          "$ref": "#/definitions/boolean"
        },
        "_doNotPerform": {
          "description": "Extensions for doNotPerform",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "A code that classifies the service for searching, sorting and display purposes (e.g. \"Surgical Procedure\").",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "code": {
          "description": "A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "orderDetail": {
          "description": "Additional details and instructions about the how the services are to be delivered.   For example, and order for a urinary catheter may have a order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be applied.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "subject": {
          "description": "On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "An encounter or episode of care that provides additional information about the healthcare context in which this request is made.",
          "$ref": "#/definitions/Reference"
        },
        "occurrenceDateTime": {
          "description": "The date/time at which the requested service should occur.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_occurrenceDateTime": {
          "description": "Extensions for occurrenceDateTime",
          "$ref": "#/definitions/Element"
        },
        "occurrencePeriod": {
          "description": "The date/time at which the requested service should occur.",
          "$ref": "#/definitions/Period"
        },
        "occurrenceTiming": {
          "description": "The date/time at which the requested service should occur.",
          "$ref": "#/definitions/Timing"
        },
        "asNeededBoolean": {
          "description": "If a CodeableConcept is present, it indicates the pre-condition for performing the service.  For example \"pain\", \"on flare-up\", etc.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_asNeededBoolean": {
          "description": "Extensions for asNeededBoolean",
          "$ref": "#/definitions/Element"
        },
        "asNeededCodeableConcept": {
          "description": "If a CodeableConcept is present, it indicates the pre-condition for performing the service.  For example \"pain\", \"on flare-up\", etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "authoredOn": {
          "description": "When the request transitioned to being actionable.",
          "$ref": "#/definitions/dateTime"
        },
        "_authoredOn": {
          "description": "Extensions for authoredOn",
          "$ref": "#/definitions/Element"
        },
        "requester": {
          "description": "The individual who initiated the request and has responsibility for its activation.",
          "$ref": "#/definitions/Reference"
        },
        "performerType": {
          "description": "Desired type of performer for doing the requested service.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "performer": {
          "description": "The desired perfomer for doing the requested service.  For example, the surgeon, dermatopathologist, endoscopist, etc.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "An explanation or justification for why this service is being requested in coded or textual form.   This is often for billing purposes.  May relate to the resources referred to in supportingInformation.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Indicates another resource that provides a justification for why this service is being requested.   May relate to the resources referred to in supportingInformation.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "insurance": {
          "description": "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested service.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "supportingInfo": {
          "description": "Additional clinical information about the patient or specimen that may influence the services or their interpretations.     This information includes diagnosis, clinical findings and other observations.  In laboratory ordering these are typically referred to as \"ask at order entry questions (AOEs)\".  This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example,  reporting the amount of inspired oxygen for blood gas measurements.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "specimen": {
          "description": "One or more specimens that the laboratory procedure will use.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "bodySite": {
          "description": "Anatomic location where the procedure should be performed. This is the target site.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "note": {
          "description": "Any other notes and comments made about the service request. For example, internal billing notes.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "patientInstruction": {
          "description": "Instructions in terms that are understood by the patient or consumer.",
          "$ref": "#/definitions/string"
        },
        "_patientInstruction": {
          "description": "Extensions for patientInstruction",
          "$ref": "#/definitions/Element"
        },
        "relevantHistory": {
          "description": "Key events in the history of the request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "Slot": {
      "description": "A slot of time on a schedule that may be available for booking appointments.",
      "properties": {
        "resourceType": {
          "description": "This is a Slot resource",
          "const": "Slot"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "External Ids for this item.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "serviceCategory": {
          "description": "A broad categorisation of the service that is to be performed during this appointment.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "serviceType": {
          "description": "The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specialty": {
          "description": "The specialty of a practitioner that would be required to perform the service requested in this appointment.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "appointmentType": {
          "description": "The style of appointment or patient that may be booked in the slot (not service type).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "schedule": {
          "description": "The schedule resource that this slot defines an interval of status information.",
          "$ref": "#/definitions/Reference"
        },
        "status": {
          "description": "busy | free | busy-unavailable | busy-tentative | entered-in-error.",
          "enum": [
            "busy",
            "free",
            "busy-unavailable",
            "busy-tentative",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "start": {
          "description": "Date/Time that the slot is to begin.",
          "$ref": "#/definitions/instant"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "#/definitions/Element"
        },
        "end": {
          "description": "Date/Time that the slot is to conclude.",
          "$ref": "#/definitions/instant"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "#/definitions/Element"
        },
        "overbooked": {
          "description": "This slot has already been overbooked, appointments are unlikely to be accepted for this time.",
          "$ref": "#/definitions/boolean"
        },
        "_overbooked": {
          "description": "Extensions for overbooked",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Comments on the slot to describe any extended information. Such as custom constraints on the slot.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "schedule",
        "resourceType"
      ]
    },
    "Specimen": {
      "description": "A sample to be used for analysis.",
      "properties": {
        "resourceType": {
          "description": "This is a Specimen resource",
          "const": "Specimen"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Id for specimen.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "accessionIdentifier": {
          "description": "The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "The availability of the specimen.",
          "enum": [
            "available",
            "unavailable",
            "unsatisfactory",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The kind of material that forms the specimen.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subject": {
          "description": "Where the specimen came from. This may be from the patient(s) or from the environment or a device.",
          "$ref": "#/definitions/Reference"
        },
        "receivedTime": {
          "description": "Time when specimen was received for processing or testing.",
          "$ref": "#/definitions/dateTime"
        },
        "_receivedTime": {
          "description": "Extensions for receivedTime",
          "$ref": "#/definitions/Element"
        },
        "parent": {
          "description": "Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "request": {
          "description": "Details concerning a service request that required a specimen to be collected.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "collection": {
          "description": "Details concerning the specimen collection.",
          "$ref": "#/definitions/Specimen_Collection"
        },
        "processing": {
          "description": "Details concerning processing and processing steps for the specimen.",
          "items": {
            "$ref": "#/definitions/Specimen_Processing"
          },
          "type": "array"
        },
        "container": {
          "description": "The container holding the specimen.  The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here.",
          "items": {
            "$ref": "#/definitions/Specimen_Container"
          },
          "type": "array"
        },
        "note": {
          "description": "To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen).",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "subject",
        "resourceType"
      ]
    },
    "Specimen_Collection": {
      "description": "A sample to be used for analysis.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "collector": {
          "description": "Person who collected the specimen.",
          "$ref": "#/definitions/Reference"
        },
        "collectedDateTime": {
          "description": "Time when specimen was collected from subject - the physiologically relevant time.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_collectedDateTime": {
          "description": "Extensions for collectedDateTime",
          "$ref": "#/definitions/Element"
        },
        "collectedPeriod": {
          "description": "Time when specimen was collected from subject - the physiologically relevant time.",
          "$ref": "#/definitions/Period"
        },
        "quantity": {
          "description": "The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample.",
          "$ref": "#/definitions/Quantity"
        },
        "method": {
          "description": "A coded value specifying the technique that is used to perform the procedure.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "bodySite": {
          "description": "Anatomical location from which the specimen was collected (if subject is a patient). This is the target site.  This element is not used for environmental specimens.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "Specimen_Processing": {
      "description": "A sample to be used for analysis.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "description": {
          "description": "Textual description of procedure.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "procedure": {
          "description": "A coded value specifying the procedure used to process the specimen.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "additive": {
          "description": "Material used in the processing step.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "timeDateTime": {
          "description": "A record of the time or period when the specimen processing occurred.  For example the time of sample fixation or the period of time the sample was in formalin.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_timeDateTime": {
          "description": "Extensions for timeDateTime",
          "$ref": "#/definitions/Element"
        },
        "timePeriod": {
          "description": "A record of the time or period when the specimen processing occurred.  For example the time of sample fixation or the period of time the sample was in formalin.",
          "$ref": "#/definitions/Period"
        }
      },
      "additionalProperties": false
    },
    "Specimen_Container": {
      "description": "A sample to be used for analysis.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Id for container. There may be multiple; a manufacturer\u0027s bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstances.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "description": {
          "description": "Textual description of the container.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The type of container associated with the specimen (e.g. slide, aliquot, etc.).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "capacity": {
          "description": "The capacity (volume or other measure) the container may contain.",
          "$ref": "#/definitions/Quantity"
        },
        "specimenQuantity": {
          "description": "The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type.",
          "$ref": "#/definitions/Quantity"
        },
        "additiveCodeableConcept": {
          "description": "Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "additiveReference": {
          "description": "Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "SpecimenDefinition": {
      "description": "A kind of specimen with associated set of requirements.",
      "properties": {
        "resourceType": {
          "description": "This is a SpecimenDefinition resource",
          "const": "SpecimenDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A business identifier associated with the kind of specimen.",
          "$ref": "#/definitions/Identifier"
        },
        "typeCollected": {
          "description": "The kind of material to be collected.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "patientPreparation": {
          "description": "Preparation of the patient for specimen collection.",
          "$ref": "#/definitions/string"
        },
        "_patientPreparation": {
          "description": "Extensions for patientPreparation",
          "$ref": "#/definitions/Element"
        },
        "timeAspect": {
          "description": "Time aspect of specimen collection (duration or offset).",
          "$ref": "#/definitions/string"
        },
        "_timeAspect": {
          "description": "Extensions for timeAspect",
          "$ref": "#/definitions/Element"
        },
        "collection": {
          "description": "The action to be performed for collecting the specimen.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specimenToLab": {
          "description": "Specimen conditioned in a container as expected by the testing laboratory.",
          "items": {
            "$ref": "#/definitions/SpecimenDefinition_SpecimenToLab"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "SpecimenDefinition_SpecimenToLab": {
      "description": "A kind of specimen with associated set of requirements.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "isDerived": {
          "description": "Primary of secondary specimen.",
          "$ref": "#/definitions/boolean"
        },
        "_isDerived": {
          "description": "Extensions for isDerived",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "The kind of specimen conditioned for testing expected by lab.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "preference": {
          "description": "The preference for this type of conditioned specimen.",
          "enum": [
            "preferred",
            "alternate"
          ]
        },
        "_preference": {
          "description": "Extensions for preference",
          "$ref": "#/definitions/Element"
        },
        "containerMaterial": {
          "description": "The type of material of the container.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "containerType": {
          "description": "The type of container used to contain this kind of specimen.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "containerCap": {
          "description": "Color of container cap.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "containerDescription": {
          "description": "The textual description of the kind of container.",
          "$ref": "#/definitions/string"
        },
        "_containerDescription": {
          "description": "Extensions for containerDescription",
          "$ref": "#/definitions/Element"
        },
        "containerCapacity": {
          "description": "The capacity (volume or other measure) of this kind of container.",
          "$ref": "#/definitions/Quantity"
        },
        "containerMinimumVolume": {
          "description": "The minimum volume to be conditioned in the container.",
          "$ref": "#/definitions/Quantity"
        },
        "containerAdditive": {
          "description": "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.",
          "items": {
            "$ref": "#/definitions/SpecimenDefinition_ContainerAdditive"
          },
          "type": "array"
        },
        "containerPreparation": {
          "description": "Special processing that should be applied to the container for this kind of specimen.",
          "$ref": "#/definitions/string"
        },
        "_containerPreparation": {
          "description": "Extensions for containerPreparation",
          "$ref": "#/definitions/Element"
        },
        "requirement": {
          "description": "Requirements for delivery and special handling of this kind of conditioned specimen.",
          "$ref": "#/definitions/string"
        },
        "_requirement": {
          "description": "Extensions for requirement",
          "$ref": "#/definitions/Element"
        },
        "retentionTime": {
          "description": "The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing.",
          "$ref": "#/definitions/Duration"
        },
        "rejectionCriterion": {
          "description": "Criterion for rejection of the specimen in its container by the laboratory.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "handling": {
          "description": "Set of instructions for conservation/transport of the specimen at a defined temperature interval, prior the testing process.",
          "items": {
            "$ref": "#/definitions/SpecimenDefinition_Handling"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SpecimenDefinition_ContainerAdditive": {
      "description": "A kind of specimen with associated set of requirements.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "additiveCodeableConcept": {
          "description": "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "additiveReference": {
          "description": "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "SpecimenDefinition_Handling": {
      "description": "A kind of specimen with associated set of requirements.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "conditionSet": {
          "description": "Code representing the set of handling instructions.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "tempRange": {
          "description": "The temperature interval for this set of handling instructions.",
          "$ref": "#/definitions/Range"
        },
        "maxDuration": {
          "description": "The maximum time interval of conservation of the specimen with these conditions.",
          "$ref": "#/definitions/Duration"
        },
        "lightExposure": {
          "description": "Textual instructions regarding the light exposure of the specimen prior testing.",
          "$ref": "#/definitions/string"
        },
        "_lightExposure": {
          "description": "Extensions for lightExposure",
          "$ref": "#/definitions/Element"
        },
        "instruction": {
          "description": "Additional textual instructions for the conservation or transport of the specimen.",
          "$ref": "#/definitions/string"
        },
        "_instruction": {
          "description": "Extensions for instruction",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "StructureDefinition": {
      "description": "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.",
      "properties": {
        "resourceType": {
          "description": "This is a StructureDefinition resource",
          "const": "StructureDefinition"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this structure definition is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this structure definition when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the structure definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the structure definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the structure definition.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this structure definition. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this structure definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the structure definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the structure definition.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the structure definition from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate structure definition instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the structure definition is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this structure definition is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "keyword": {
          "description": "A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        },
        "fhirVersion": {
          "description": "The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 3.2.0 for this version.",
          "$ref": "#/definitions/id"
        },
        "_fhirVersion": {
          "description": "Extensions for fhirVersion",
          "$ref": "#/definitions/Element"
        },
        "mapping": {
          "description": "An external specification that the content is mapped to.",
          "items": {
            "$ref": "#/definitions/StructureDefinition_Mapping"
          },
          "type": "array"
        },
        "kind": {
          "description": "Defines the kind of structure that this definition is describing.",
          "enum": [
            "primitive-type",
            "complex-type",
            "resource",
            "logical"
          ]
        },
        "_kind": {
          "description": "Extensions for kind",
          "$ref": "#/definitions/Element"
        },
        "abstract": {
          "description": "Whether structure this definition describes is abstract or not  - that is, whether the structure is not intended to be instantiated. For Resources and Data types, abstract types will never be exchanged  between systems.",
          "$ref": "#/definitions/boolean"
        },
        "_abstract": {
          "description": "Extensions for abstract",
          "$ref": "#/definitions/Element"
        },
        "contextType": {
          "description": "If this is an extension, Identifies the context within FHIR resources where the extension can be used.",
          "enum": [
            "resource",
            "datatype",
            "extension"
          ]
        },
        "_contextType": {
          "description": "Extensions for contextType",
          "$ref": "#/definitions/Element"
        },
        "context": {
          "description": "Identifies the types of resource or data type elements to which the extension can be applied.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_context": {
          "description": "Extensions for context",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "contextInvariant": {
          "description": "A set of rules as Fluent Invariants about when the extension can be used (e.g. co-occurrence variants for the extension).",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_contextInvariant": {
          "description": "Extensions for contextInvariant",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "type": {
          "description": "The type this structure describes. If the derivation kind is \u0027specialization\u0027 then this is the master definition for a type, and there is always one of these (a data type, an extension, a resource, including abstract ones). Otherwise the structure definition is a constraint on the stated type (and in this case, the type cannot be an abstract type).",
          "$ref": "#/definitions/code"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "baseDefinition": {
          "description": "An absolute URI that is the base structure from which this type is derived, either by specialization or constraint.",
          "$ref": "#/definitions/uri"
        },
        "_baseDefinition": {
          "description": "Extensions for baseDefinition",
          "$ref": "#/definitions/Element"
        },
        "derivation": {
          "description": "How the type relates to the baseDefinition.",
          "enum": [
            "specialization",
            "constraint"
          ]
        },
        "_derivation": {
          "description": "Extensions for derivation",
          "$ref": "#/definitions/Element"
        },
        "snapshot": {
          "description": "A snapshot view is expressed in a stand alone form that can be used and interpreted without considering the base StructureDefinition.",
          "$ref": "#/definitions/StructureDefinition_Snapshot"
        },
        "differential": {
          "description": "A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies.",
          "$ref": "#/definitions/StructureDefinition_Differential"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "StructureDefinition_Mapping": {
      "description": "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identity": {
          "description": "An Internal id that is used to identify this mapping set when specific mappings are made.",
          "$ref": "#/definitions/id"
        },
        "_identity": {
          "description": "Extensions for identity",
          "$ref": "#/definitions/Element"
        },
        "uri": {
          "description": "An absolute URI that identifies the specification that this mapping is expressed to.",
          "$ref": "#/definitions/uri"
        },
        "_uri": {
          "description": "Extensions for uri",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A name for the specification that is being mapped to.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "StructureDefinition_Snapshot": {
      "description": "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "element": {
          "description": "Captures constraints on each element within the resource.",
          "items": {
            "$ref": "#/definitions/ElementDefinition"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "element"
      ]
    },
    "StructureDefinition_Differential": {
      "description": "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "element": {
          "description": "Captures constraints on each element within the resource.",
          "items": {
            "$ref": "#/definitions/ElementDefinition"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "element"
      ]
    },
    "StructureMap": {
      "description": "A Map of relationships between 2 structures that can be used to transform data.",
      "properties": {
        "resourceType": {
          "description": "This is a StructureMap resource",
          "const": "StructureMap"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this structure map is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the structure map.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this structure map. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the structure map was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the structure map.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the structure map from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate structure map instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the structure map is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this structure map is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "structure": {
          "description": "A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.",
          "items": {
            "$ref": "#/definitions/StructureMap_Structure"
          },
          "type": "array"
        },
        "import": {
          "description": "Other maps used by this map (canonical URLs).",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_import": {
          "description": "Extensions for import",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "group": {
          "description": "Organizes the mapping into managable chunks for human review/ease of maintenance.",
          "items": {
            "$ref": "#/definitions/StructureMap_Group"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType",
        "group"
      ]
    },
    "StructureMap_Structure": {
      "description": "A Map of relationships between 2 structures that can be used to transform data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "The canonical URL that identifies the structure.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "mode": {
          "description": "How the referenced structure is used in this mapping.",
          "enum": [
            "source",
            "queried",
            "target",
            "produced"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "alias": {
          "description": "The name used for this type in the map.",
          "$ref": "#/definitions/string"
        },
        "_alias": {
          "description": "Extensions for alias",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "Documentation that describes how the structure is used in the mapping.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "StructureMap_Group": {
      "description": "A Map of relationships between 2 structures that can be used to transform data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "A unique name for the group for the convenience of human readers.",
          "$ref": "#/definitions/id"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "extends": {
          "description": "Another group that this group adds rules to.",
          "$ref": "#/definitions/id"
        },
        "_extends": {
          "description": "Extensions for extends",
          "$ref": "#/definitions/Element"
        },
        "typeMode": {
          "description": "If this is the default rule set to apply for thie source type, or this combination of types.",
          "enum": [
            "none",
            "types",
            "type-and-types"
          ]
        },
        "_typeMode": {
          "description": "Extensions for typeMode",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "Additional supporting documentation that explains the purpose of the group and the types of mappings within it.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        },
        "input": {
          "description": "A name assigned to an instance of data. The instance must be provided when the mapping is invoked.",
          "items": {
            "$ref": "#/definitions/StructureMap_Input"
          },
          "type": "array"
        },
        "rule": {
          "description": "Transform Rule from source to target.",
          "items": {
            "$ref": "#/definitions/StructureMap_Rule"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "input",
        "rule"
      ]
    },
    "StructureMap_Input": {
      "description": "A Map of relationships between 2 structures that can be used to transform data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Name for this instance of data.",
          "$ref": "#/definitions/id"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Type for this instance of data.",
          "$ref": "#/definitions/string"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "mode": {
          "description": "Mode for this instance of data.",
          "enum": [
            "source",
            "target"
          ]
        },
        "_mode": {
          "description": "Extensions for mode",
          "$ref": "#/definitions/Element"
        },
        "documentation": {
          "description": "Documentation for this instance of data.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "StructureMap_Rule": {
      "description": "A Map of relationships between 2 structures that can be used to transform data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Name of the rule for internal references.",
          "$ref": "#/definitions/id"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "source": {
          "description": "Source inputs to the mapping.",
          "items": {
            "$ref": "#/definitions/StructureMap_Source"
          },
          "type": "array"
        },
        "target": {
          "description": "Content to create because of this mapping rule.",
          "items": {
            "$ref": "#/definitions/StructureMap_Target"
          },
          "type": "array"
        },
        "rule": {
          "description": "Rules contained in this rule.",
          "items": {
            "$ref": "#/definitions/StructureMap_Rule"
          },
          "type": "array"
        },
        "dependent": {
          "description": "Which other rules to apply in the context of this rule.",
          "items": {
            "$ref": "#/definitions/StructureMap_Dependent"
          },
          "type": "array"
        },
        "documentation": {
          "description": "Documentation for this instance of data.",
          "$ref": "#/definitions/string"
        },
        "_documentation": {
          "description": "Extensions for documentation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "source"
      ]
    },
    "StructureMap_Source": {
      "description": "A Map of relationships between 2 structures that can be used to transform data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "context": {
          "description": "Type or variable this rule applies to.",
          "$ref": "#/definitions/id"
        },
        "_context": {
          "description": "Extensions for context",
          "$ref": "#/definitions/Element"
        },
        "min": {
          "description": "Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content.",
          "$ref": "#/definitions/integer"
        },
        "_min": {
          "description": "Extensions for min",
          "$ref": "#/definitions/Element"
        },
        "max": {
          "description": "Specified maximum cardinality for the element - a number or a \"*\". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it\u0027s the default value).",
          "$ref": "#/definitions/string"
        },
        "_max": {
          "description": "Extensions for max",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Specified type for the element. This works as a condition on the mapping - use for polymorphic elements.",
          "$ref": "#/definitions/string"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "defaultValueBoolean": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_defaultValueBoolean": {
          "description": "Extensions for defaultValueBoolean",
          "$ref": "#/definitions/Element"
        },
        "defaultValueInteger": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_defaultValueInteger": {
          "description": "Extensions for defaultValueInteger",
          "$ref": "#/definitions/Element"
        },
        "defaultValueDecimal": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_defaultValueDecimal": {
          "description": "Extensions for defaultValueDecimal",
          "$ref": "#/definitions/Element"
        },
        "defaultValueBase64Binary": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_defaultValueBase64Binary": {
          "description": "Extensions for defaultValueBase64Binary",
          "$ref": "#/definitions/Element"
        },
        "defaultValueInstant": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_defaultValueInstant": {
          "description": "Extensions for defaultValueInstant",
          "$ref": "#/definitions/Element"
        },
        "defaultValueString": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_defaultValueString": {
          "description": "Extensions for defaultValueString",
          "$ref": "#/definitions/Element"
        },
        "defaultValueUri": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_defaultValueUri": {
          "description": "Extensions for defaultValueUri",
          "$ref": "#/definitions/Element"
        },
        "defaultValueDate": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_defaultValueDate": {
          "description": "Extensions for defaultValueDate",
          "$ref": "#/definitions/Element"
        },
        "defaultValueDateTime": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_defaultValueDateTime": {
          "description": "Extensions for defaultValueDateTime",
          "$ref": "#/definitions/Element"
        },
        "defaultValueTime": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_defaultValueTime": {
          "description": "Extensions for defaultValueTime",
          "$ref": "#/definitions/Element"
        },
        "defaultValueCode": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_defaultValueCode": {
          "description": "Extensions for defaultValueCode",
          "$ref": "#/definitions/Element"
        },
        "defaultValueOid": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
          "type": "string"
        },
        "_defaultValueOid": {
          "description": "Extensions for defaultValueOid",
          "$ref": "#/definitions/Element"
        },
        "defaultValueId": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_defaultValueId": {
          "description": "Extensions for defaultValueId",
          "$ref": "#/definitions/Element"
        },
        "defaultValueUnsignedInt": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_defaultValueUnsignedInt": {
          "description": "Extensions for defaultValueUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "defaultValuePositiveInt": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_defaultValuePositiveInt": {
          "description": "Extensions for defaultValuePositiveInt",
          "$ref": "#/definitions/Element"
        },
        "defaultValueMarkdown": {
          "description": "A value to use if there is no existing value in the source object.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_defaultValueMarkdown": {
          "description": "Extensions for defaultValueMarkdown",
          "$ref": "#/definitions/Element"
        },
        "defaultValueAnnotation": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Annotation"
        },
        "defaultValueAttachment": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Attachment"
        },
        "defaultValueIdentifier": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Identifier"
        },
        "defaultValueCodeableConcept": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "defaultValueCoding": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Coding"
        },
        "defaultValueQuantity": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Quantity"
        },
        "defaultValueRange": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Range"
        },
        "defaultValuePeriod": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Period"
        },
        "defaultValueRatio": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Ratio"
        },
        "defaultValueSampledData": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/SampledData"
        },
        "defaultValueSignature": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Signature"
        },
        "defaultValueHumanName": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/HumanName"
        },
        "defaultValueAddress": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Address"
        },
        "defaultValueContactPoint": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/ContactPoint"
        },
        "defaultValueTiming": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Timing"
        },
        "defaultValueReference": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Reference"
        },
        "defaultValueMeta": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Meta"
        },
        "defaultValueDosage": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Dosage"
        },
        "defaultValueContactDetail": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/ContactDetail"
        },
        "defaultValueContributor": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/Contributor"
        },
        "defaultValueDataRequirement": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/DataRequirement"
        },
        "defaultValueParameterDefinition": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/ParameterDefinition"
        },
        "defaultValueRelatedArtifact": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/RelatedArtifact"
        },
        "defaultValueTriggerDefinition": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/TriggerDefinition"
        },
        "defaultValueUsageContext": {
          "description": "A value to use if there is no existing value in the source object.",
          "$ref": "#/definitions/UsageContext"
        },
        "element": {
          "description": "Optional field for this source.",
          "$ref": "#/definitions/string"
        },
        "_element": {
          "description": "Extensions for element",
          "$ref": "#/definitions/Element"
        },
        "listMode": {
          "description": "How to handle the list mode for this element.",
          "enum": [
            "first",
            "not_first",
            "last",
            "not_last",
            "only_one"
          ]
        },
        "_listMode": {
          "description": "Extensions for listMode",
          "$ref": "#/definitions/Element"
        },
        "variable": {
          "description": "Named context for field, if a field is specified.",
          "$ref": "#/definitions/id"
        },
        "_variable": {
          "description": "Extensions for variable",
          "$ref": "#/definitions/Element"
        },
        "condition": {
          "description": "FHIRPath expression  - must be true or the rule does not apply.",
          "$ref": "#/definitions/string"
        },
        "_condition": {
          "description": "Extensions for condition",
          "$ref": "#/definitions/Element"
        },
        "check": {
          "description": "FHIRPath expression  - must be true or the mapping engine throws an error instead of completing.",
          "$ref": "#/definitions/string"
        },
        "_check": {
          "description": "Extensions for check",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "StructureMap_Target": {
      "description": "A Map of relationships between 2 structures that can be used to transform data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "context": {
          "description": "Type or variable this rule applies to.",
          "$ref": "#/definitions/id"
        },
        "_context": {
          "description": "Extensions for context",
          "$ref": "#/definitions/Element"
        },
        "contextType": {
          "description": "How to interpret the context.",
          "enum": [
            "type",
            "variable"
          ]
        },
        "_contextType": {
          "description": "Extensions for contextType",
          "$ref": "#/definitions/Element"
        },
        "element": {
          "description": "Field to create in the context.",
          "$ref": "#/definitions/string"
        },
        "_element": {
          "description": "Extensions for element",
          "$ref": "#/definitions/Element"
        },
        "variable": {
          "description": "Named context for field, if desired, and a field is specified.",
          "$ref": "#/definitions/id"
        },
        "_variable": {
          "description": "Extensions for variable",
          "$ref": "#/definitions/Element"
        },
        "listMode": {
          "description": "If field is a list, how to manage the list.",
          "items": {
            "enum": [
              "first",
              "share",
              "last",
              "collate"
            ]
          },
          "type": "array"
        },
        "_listMode": {
          "description": "Extensions for listMode",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "listRuleId": {
          "description": "Internal rule reference for shared list items.",
          "$ref": "#/definitions/id"
        },
        "_listRuleId": {
          "description": "Extensions for listRuleId",
          "$ref": "#/definitions/Element"
        },
        "transform": {
          "description": "How the data is copied / created.",
          "enum": [
            "create",
            "copy",
            "truncate",
            "escape",
            "cast",
            "append",
            "translate",
            "reference",
            "dateOp",
            "uuid",
            "pointer",
            "evaluate",
            "cc",
            "c",
            "qty",
            "id",
            "cp"
          ]
        },
        "_transform": {
          "description": "Extensions for transform",
          "$ref": "#/definitions/Element"
        },
        "parameter": {
          "description": "Parameters to the transform.",
          "items": {
            "$ref": "#/definitions/StructureMap_Parameter"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "StructureMap_Parameter": {
      "description": "A Map of relationships between 2 structures that can be used to transform data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "valueId": {
          "description": "Parameter value - variable or literal.",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_valueId": {
          "description": "Extensions for valueId",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "Parameter value - variable or literal.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueBoolean": {
          "description": "Parameter value - variable or literal.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "Parameter value - variable or literal.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueDecimal": {
          "description": "Parameter value - variable or literal.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_valueDecimal": {
          "description": "Extensions for valueDecimal",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "StructureMap_Dependent": {
      "description": "A Map of relationships between 2 structures that can be used to transform data.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Name of a rule or group to apply.",
          "$ref": "#/definitions/id"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "variable": {
          "description": "Variable to pass to the rule or group.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_variable": {
          "description": "Extensions for variable",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Subscription": {
      "description": "The subscription resource is used to define a push based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system is able to take an appropriate action.",
      "properties": {
        "resourceType": {
          "description": "This is a Subscription resource",
          "const": "Subscription"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the subscription, which marks the server state for managing the subscription.",
          "enum": [
            "requested",
            "active",
            "error",
            "off"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.",
          "items": {
            "$ref": "#/definitions/ContactPoint"
          },
          "type": "array"
        },
        "end": {
          "description": "The time for the server to turn the subscription off.",
          "$ref": "#/definitions/instant"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "#/definitions/Element"
        },
        "reason": {
          "description": "A description of why this subscription is defined.",
          "$ref": "#/definitions/string"
        },
        "_reason": {
          "description": "Extensions for reason",
          "$ref": "#/definitions/Element"
        },
        "criteria": {
          "description": "The rules that the server should use to determine when to generate notifications for this subscription.",
          "$ref": "#/definitions/string"
        },
        "_criteria": {
          "description": "Extensions for criteria",
          "$ref": "#/definitions/Element"
        },
        "error": {
          "description": "A record of the last error that occurred when the server processed a notification.",
          "$ref": "#/definitions/string"
        },
        "_error": {
          "description": "Extensions for error",
          "$ref": "#/definitions/Element"
        },
        "channel": {
          "description": "Details where to send notifications when resources are received that meet the criteria.",
          "$ref": "#/definitions/Subscription_Channel"
        },
        "tag": {
          "description": "A tag to add to any resource that matches the criteria, after the subscription is processed.",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "channel",
        "resourceType"
      ]
    },
    "Subscription_Channel": {
      "description": "The subscription resource is used to define a push based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system is able to take an appropriate action.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of channel to send notifications on.",
          "enum": [
            "rest-hook",
            "websocket",
            "email",
            "sms",
            "message"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "endpoint": {
          "description": "The uri that describes the actual end-point to send messages to.",
          "$ref": "#/definitions/uri"
        },
        "_endpoint": {
          "description": "Extensions for endpoint",
          "$ref": "#/definitions/Element"
        },
        "payload": {
          "description": "The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. If the payload is not present, then there is no payload in the notification, just a notification.",
          "$ref": "#/definitions/string"
        },
        "_payload": {
          "description": "Extensions for payload",
          "$ref": "#/definitions/Element"
        },
        "header": {
          "description": "Additional headers / information to send as part of the notification.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_header": {
          "description": "Extensions for header",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Substance": {
      "description": "A homogeneous material with a definite composition.",
      "properties": {
        "resourceType": {
          "description": "This is a Substance resource",
          "const": "Substance"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique identifier for the substance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "A code to indicate if the substance is actively used.",
          "enum": [
            "active",
            "inactive",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "A code that classifies the general type of substance.  This is used  for searching, sorting and display purposes.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "code": {
          "description": "A code (or set of codes) that identify this substance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "A description of the substance - its appearance, handling requirements, and other usage notes.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "instance": {
          "description": "Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance.",
          "items": {
            "$ref": "#/definitions/Substance_Instance"
          },
          "type": "array"
        },
        "ingredient": {
          "description": "A substance can be composed of other substances.",
          "items": {
            "$ref": "#/definitions/Substance_Ingredient"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "code",
        "resourceType"
      ]
    },
    "Substance_Instance": {
      "description": "A homogeneous material with a definite composition.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier associated with the package/container (usually a label affixed directly).",
          "$ref": "#/definitions/Identifier"
        },
        "expiry": {
          "description": "When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry.",
          "$ref": "#/definitions/dateTime"
        },
        "_expiry": {
          "description": "Extensions for expiry",
          "$ref": "#/definitions/Element"
        },
        "quantity": {
          "description": "The amount of the substance.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false
    },
    "Substance_Ingredient": {
      "description": "A homogeneous material with a definite composition.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "quantity": {
          "description": "The amount of the ingredient in the substance - a concentration ratio.",
          "$ref": "#/definitions/Ratio"
        },
        "substanceCodeableConcept": {
          "description": "Another substance that is a component of this substance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "substanceReference": {
          "description": "Another substance that is a component of this substance.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "SubstancePolymer": {
      "description": "Todo.",
      "properties": {
        "resourceType": {
          "description": "This is a SubstancePolymer resource",
          "const": "SubstancePolymer"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "class": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "geometry": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "copolymerConnectivity": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "modification": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_modification": {
          "description": "Extensions for modification",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "monomerSet": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstancePolymer_MonomerSet"
          },
          "type": "array"
        },
        "repeat": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstancePolymer_Repeat"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "SubstancePolymer_MonomerSet": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "ratioType": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "startingMaterial": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstancePolymer_StartingMaterial"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstancePolymer_StartingMaterial": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "material": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "type": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "isDefining": {
          "description": "Todo.",
          "$ref": "#/definitions/boolean"
        },
        "_isDefining": {
          "description": "Extensions for isDefining",
          "$ref": "#/definitions/Element"
        },
        "amount": {
          "description": "Todo.",
          "$ref": "#/definitions/SubstanceAmount"
        }
      },
      "additionalProperties": false
    },
    "SubstancePolymer_Repeat": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "numberOfUnits": {
          "description": "Todo.",
          "$ref": "#/definitions/integer"
        },
        "_numberOfUnits": {
          "description": "Extensions for numberOfUnits",
          "$ref": "#/definitions/Element"
        },
        "averageMolecularFormula": {
          "description": "Todo.",
          "$ref": "#/definitions/string"
        },
        "_averageMolecularFormula": {
          "description": "Extensions for averageMolecularFormula",
          "$ref": "#/definitions/Element"
        },
        "repeatUnitAmountType": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "repeatUnit": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstancePolymer_RepeatUnit"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstancePolymer_RepeatUnit": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "orientationOfPolymerisation": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "repeatUnit": {
          "description": "Todo.",
          "$ref": "#/definitions/string"
        },
        "_repeatUnit": {
          "description": "Extensions for repeatUnit",
          "$ref": "#/definitions/Element"
        },
        "amount": {
          "description": "Todo.",
          "$ref": "#/definitions/SubstanceAmount"
        },
        "degreeOfPolymerisation": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstancePolymer_DegreeOfPolymerisation"
          },
          "type": "array"
        },
        "structuralRepresentation": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstancePolymer_StructuralRepresentation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstancePolymer_DegreeOfPolymerisation": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "degree": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "amount": {
          "description": "Todo.",
          "$ref": "#/definitions/SubstanceAmount"
        }
      },
      "additionalProperties": false
    },
    "SubstancePolymer_StructuralRepresentation": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "representation": {
          "description": "Todo.",
          "$ref": "#/definitions/string"
        },
        "_representation": {
          "description": "Extensions for representation",
          "$ref": "#/definitions/Element"
        },
        "attachment": {
          "description": "Todo.",
          "$ref": "#/definitions/Attachment"
        }
      },
      "additionalProperties": false
    },
    "SubstanceReferenceInformation": {
      "description": "Todo.",
      "properties": {
        "resourceType": {
          "description": "This is a SubstanceReferenceInformation resource",
          "const": "SubstanceReferenceInformation"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "comment": {
          "description": "Todo.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "gene": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstanceReferenceInformation_Gene"
          },
          "type": "array"
        },
        "geneElement": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstanceReferenceInformation_GeneElement"
          },
          "type": "array"
        },
        "classification": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstanceReferenceInformation_Classification"
          },
          "type": "array"
        },
        "relationship": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstanceReferenceInformation_Relationship"
          },
          "type": "array"
        },
        "target": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/SubstanceReferenceInformation_Target"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "SubstanceReferenceInformation_Gene": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "geneSequenceOrigin": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "gene": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "source": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstanceReferenceInformation_GeneElement": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "element": {
          "description": "Todo.",
          "$ref": "#/definitions/Identifier"
        },
        "source": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstanceReferenceInformation_Classification": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "domain": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "classification": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "subtype": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "source": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstanceReferenceInformation_Relationship": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "substanceReference": {
          "description": "Todo.",
          "$ref": "#/definitions/Reference"
        },
        "substanceCodeableConcept": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "relationship": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "interaction": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "isDefining": {
          "description": "Todo.",
          "$ref": "#/definitions/boolean"
        },
        "_isDefining": {
          "description": "Extensions for isDefining",
          "$ref": "#/definitions/Element"
        },
        "amountQuantity": {
          "description": "Todo.",
          "$ref": "#/definitions/Quantity"
        },
        "amountRange": {
          "description": "Todo.",
          "$ref": "#/definitions/Range"
        },
        "amountString": {
          "description": "Todo.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_amountString": {
          "description": "Extensions for amountString",
          "$ref": "#/definitions/Element"
        },
        "amountType": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "amountText": {
          "description": "Todo.",
          "$ref": "#/definitions/string"
        },
        "_amountText": {
          "description": "Extensions for amountText",
          "$ref": "#/definitions/Element"
        },
        "source": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstanceReferenceInformation_Target": {
      "description": "Todo.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "target": {
          "description": "Todo.",
          "$ref": "#/definitions/Identifier"
        },
        "type": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "interaction": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "organism": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "organismType": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "source": {
          "description": "Todo.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "amountQuantity": {
          "description": "Todo.",
          "$ref": "#/definitions/Quantity"
        },
        "amountRange": {
          "description": "Todo.",
          "$ref": "#/definitions/Range"
        },
        "amountString": {
          "description": "Todo.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_amountString": {
          "description": "Extensions for amountString",
          "$ref": "#/definitions/Element"
        },
        "amountType": {
          "description": "Todo.",
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "resourceType": {
          "description": "This is a SubstanceSpecification resource",
          "const": "SubstanceSpecification"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "comment": {
          "description": "Textual comment.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "stoichiometric": {
          "description": "Chemicals may be stoichiometric or non-stoichiometric.",
          "$ref": "#/definitions/boolean"
        },
        "_stoichiometric": {
          "description": "Extensions for stoichiometric",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "Identifier by which this substance is known.",
          "$ref": "#/definitions/Identifier"
        },
        "type": {
          "description": "High level categorisation, e.g. polymer or nucleic acid.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "referenceSource": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_referenceSource": {
          "description": "Extensions for referenceSource",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "moiety": {
          "description": "Moiety, for structural modifications.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Moiety"
          },
          "type": "array"
        },
        "property": {
          "description": "General specifications for this substance, including how it is related to other substances.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Property"
          },
          "type": "array"
        },
        "referenceInformation": {
          "description": "General information detailing this substance.",
          "$ref": "#/definitions/Reference"
        },
        "structure": {
          "description": "Structural information.",
          "$ref": "#/definitions/SubstanceSpecification_Structure"
        },
        "substanceCode": {
          "description": "Codes associated with the substance.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_SubstanceCode"
          },
          "type": "array"
        },
        "substanceName": {
          "description": "Names applicable to this substence.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_SubstanceName"
          },
          "type": "array"
        },
        "molecularWeight": {
          "description": "The molecular weight or weight range (for proteins, polymers or nucleic acids).",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_MolecularWeight"
          },
          "type": "array"
        },
        "polymer": {
          "description": "Data items specific to polymers.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "SubstanceSpecification_Moiety": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "role": {
          "description": "Role that the moiety is playing.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "identifier": {
          "description": "Identifier by which this moiety substance is known.",
          "$ref": "#/definitions/Identifier"
        },
        "name": {
          "description": "Textual name for this moiety substance.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "stereochemistry": {
          "description": "Stereochemistry type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "opticalActivity": {
          "description": "Optical activity type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "molecularFormula": {
          "description": "Molecular formula.",
          "$ref": "#/definitions/string"
        },
        "_molecularFormula": {
          "description": "Extensions for molecularFormula",
          "$ref": "#/definitions/Element"
        },
        "amount": {
          "description": "Quantitative value for this moiety.",
          "$ref": "#/definitions/string"
        },
        "_amount": {
          "description": "Extensions for amount",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_Property": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Description todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "name": {
          "description": "Description todo.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "parameters": {
          "description": "A field that should be used to capture parameters that were used in the measurement of a property.",
          "$ref": "#/definitions/string"
        },
        "_parameters": {
          "description": "Extensions for parameters",
          "$ref": "#/definitions/Element"
        },
        "substanceId": {
          "description": "Identifier for a substance upon which a defining property depends.",
          "$ref": "#/definitions/Identifier"
        },
        "substanceName": {
          "description": "Description todo.",
          "$ref": "#/definitions/string"
        },
        "_substanceName": {
          "description": "Extensions for substanceName",
          "$ref": "#/definitions/Element"
        },
        "amount": {
          "description": "Quantitative value for this property.",
          "$ref": "#/definitions/string"
        },
        "_amount": {
          "description": "Extensions for amount",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_Structure": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "stereochemistry": {
          "description": "Stereochemistry type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "opticalActivity": {
          "description": "Optical activity type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "molecularFormula": {
          "description": "Molecular formula.",
          "$ref": "#/definitions/string"
        },
        "_molecularFormula": {
          "description": "Extensions for molecularFormula",
          "$ref": "#/definitions/Element"
        },
        "molecularFormulaByMoiety": {
          "description": "Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical. and each moiety separated by a dot.",
          "$ref": "#/definitions/string"
        },
        "_molecularFormulaByMoiety": {
          "description": "Extensions for molecularFormulaByMoiety",
          "$ref": "#/definitions/Element"
        },
        "isotope": {
          "description": "Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Isotope"
          },
          "type": "array"
        },
        "molecularWeight": {
          "description": "The molecular weight or weight range (for proteins, polymers or nucleic acids).",
          "$ref": "#/definitions/SubstanceSpecification_MolecularWeight"
        },
        "referenceSource": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "structuralRepresentation": {
          "description": "Molectular structural representation.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_StructuralRepresentation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_Isotope": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "nuclideId": {
          "description": "Substance identifier for each non-natural or radioisotope.",
          "$ref": "#/definitions/Identifier"
        },
        "nuclideName": {
          "description": "Substance name for each non-natural or radioisotope.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "substitutionType": {
          "description": "The type of isotopic substitution present in a single substance.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "nuclideHalfLife": {
          "description": "Half life - for a non-natural nuclide.",
          "$ref": "#/definitions/Quantity"
        },
        "amount": {
          "description": "Quantitative values for this isotope.",
          "$ref": "#/definitions/string"
        },
        "_amount": {
          "description": "Extensions for amount",
          "$ref": "#/definitions/Element"
        },
        "molecularWeight": {
          "description": "The molecular weight or weight range (for proteins, polymers or nucleic acids).",
          "$ref": "#/definitions/SubstanceSpecification_MolecularWeight"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_MolecularWeight": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "method": {
          "description": "The method by which the molecular weight was determined.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "type": {
          "description": "Type of molecular weight such as exact, average (also known as. number average), weight average.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "amount": {
          "description": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field.",
          "$ref": "#/definitions/string"
        },
        "_amount": {
          "description": "Extensions for amount",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_StructuralRepresentation": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of structure (e.g. Full, Partial, Representative).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "representation": {
          "description": "The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX.",
          "$ref": "#/definitions/string"
        },
        "_representation": {
          "description": "Extensions for representation",
          "$ref": "#/definitions/Element"
        },
        "attachment": {
          "description": "An attached file with the structural representation.",
          "$ref": "#/definitions/Attachment"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_SubstanceCode": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The specific code.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "status": {
          "description": "Status of the code assignment.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "statusDate": {
          "description": "The date at which the code status is changed as part of the terminology maintenance.",
          "$ref": "#/definitions/dateTime"
        },
        "_statusDate": {
          "description": "Extensions for statusDate",
          "$ref": "#/definitions/Element"
        },
        "comment": {
          "description": "Any comment can be provided in this field, if necessary.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "#/definitions/Element"
        },
        "referenceSource": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_referenceSource": {
          "description": "Extensions for referenceSource",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_SubstanceName": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The actual name.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "type": {
          "description": "Name type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "language": {
          "description": "Language of the name.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "domain": {
          "description": "The use context of this name for example if there is a different name a drug active ingredient as opposed to a food colour additive.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "The jurisdiction where this name applies.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "officialName": {
          "description": "Details of the official nature of this name.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_OfficialName"
          },
          "type": "array"
        },
        "referenceSource": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_referenceSource": {
          "description": "Extensions for referenceSource",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_OfficialName": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "authority": {
          "description": "Which authority uses this official name.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "status": {
          "description": "The status of the official name.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "date": {
          "description": "Date of official name change.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "SupplyDelivery": {
      "description": "Record of delivery of what is supplied.",
      "properties": {
        "resourceType": {
          "description": "This is a SupplyDelivery resource",
          "const": "SupplyDelivery"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier assigned by the dispensing facility when the item(s) is dispensed.",
          "$ref": "#/definitions/Identifier"
        },
        "basedOn": {
          "description": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "partOf": {
          "description": "A larger event of which this particular event is a component or step.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "A code specifying the state of the dispense event.",
          "enum": [
            "in-progress",
            "completed",
            "abandoned",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "A link to a resource representing the person whom the delivered item is for.",
          "$ref": "#/definitions/Reference"
        },
        "type": {
          "description": "Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "suppliedItem": {
          "description": "The item that is being delivered or has been supplied.",
          "$ref": "#/definitions/SupplyDelivery_SuppliedItem"
        },
        "occurrenceDateTime": {
          "description": "The date or time(s) the activity occurred.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_occurrenceDateTime": {
          "description": "Extensions for occurrenceDateTime",
          "$ref": "#/definitions/Element"
        },
        "occurrencePeriod": {
          "description": "The date or time(s) the activity occurred.",
          "$ref": "#/definitions/Period"
        },
        "occurrenceTiming": {
          "description": "The date or time(s) the activity occurred.",
          "$ref": "#/definitions/Timing"
        },
        "supplier": {
          "description": "The individual responsible for dispensing the medication, supplier or device.",
          "$ref": "#/definitions/Reference"
        },
        "destination": {
          "description": "Identification of the facility/location where the Supply was shipped to, as part of the dispense event.",
          "$ref": "#/definitions/Reference"
        },
        "receiver": {
          "description": "Identifies the person who picked up the Supply.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "SupplyDelivery_SuppliedItem": {
      "description": "Record of delivery of what is supplied.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "quantity": {
          "description": "The amount of supply that has been dispensed. Includes unit of measure.",
          "$ref": "#/definitions/Quantity"
        },
        "itemCodeableConcept": {
          "description": "Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "itemReference": {
          "description": "Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "SupplyRequest": {
      "description": "A record of a request for a medication, substance or device used in the healthcare setting.",
      "properties": {
        "resourceType": {
          "description": "This is a SupplyRequest resource",
          "const": "SupplyRequest"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Unique identifier for this supply request.",
          "$ref": "#/definitions/Identifier"
        },
        "status": {
          "description": "Status of the supply request.",
          "enum": [
            "draft",
            "active",
            "suspended",
            "cancelled",
            "completed",
            "entered-in-error",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "category": {
          "description": "Category of supply, e.g.  central, non-stock, etc. This is used to support work flows associated with the supply process.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "priority": {
          "description": "Indicates how quickly this SupplyRequest should be addressed with respect to other requests.",
          "$ref": "#/definitions/code"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        },
        "itemCodeableConcept": {
          "description": "The item that is requested to be supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "itemReference": {
          "description": "The item that is requested to be supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.",
          "$ref": "#/definitions/Reference"
        },
        "quantity": {
          "description": "The amount that is being ordered of the indicated item.",
          "$ref": "#/definitions/Quantity"
        },
        "parameter": {
          "description": "Specific parameters for the ordered item.  For example, the size of the indicated item.",
          "items": {
            "$ref": "#/definitions/SupplyRequest_Parameter"
          },
          "type": "array"
        },
        "occurrenceDateTime": {
          "description": "When the request should be fulfilled.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_occurrenceDateTime": {
          "description": "Extensions for occurrenceDateTime",
          "$ref": "#/definitions/Element"
        },
        "occurrencePeriod": {
          "description": "When the request should be fulfilled.",
          "$ref": "#/definitions/Period"
        },
        "occurrenceTiming": {
          "description": "When the request should be fulfilled.",
          "$ref": "#/definitions/Timing"
        },
        "authoredOn": {
          "description": "When the request was made.",
          "$ref": "#/definitions/dateTime"
        },
        "_authoredOn": {
          "description": "Extensions for authoredOn",
          "$ref": "#/definitions/Element"
        },
        "requester": {
          "description": "The device, practitioner, etc. who initiated the request.",
          "$ref": "#/definitions/Reference"
        },
        "supplier": {
          "description": "Who is intended to fulfill the request.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "reasonCode": {
          "description": "Why the supply item was requested.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "reasonReference": {
          "description": "Why the supply item was requested.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "deliverFrom": {
          "description": "Where the supply is expected to come from.",
          "$ref": "#/definitions/Reference"
        },
        "deliverTo": {
          "description": "Where the supply is destined to go.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "quantity",
        "resourceType"
      ]
    },
    "SupplyRequest_Parameter": {
      "description": "A record of a request for a medication, substance or device used in the healthcare setting.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "A code or string that identifies the device detail being asserted.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueCodeableConcept": {
          "description": "The value of the device detail.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueQuantity": {
          "description": "The value of the device detail.",
          "$ref": "#/definitions/Quantity"
        },
        "valueRange": {
          "description": "The value of the device detail.",
          "$ref": "#/definitions/Range"
        },
        "valueBoolean": {
          "description": "The value of the device detail.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "Task": {
      "description": "A task to be performed.",
      "properties": {
        "resourceType": {
          "description": "This is a Task resource",
          "const": "Task"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "The business identifier for this task.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "instantiatesUri": {
          "description": "A reference to a formal or informal definition of the task.  For example, a protocol, a step within a defined workflow definition, etc.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_instantiatesUri": {
          "description": "Extensions for instantiatesUri",
          "$ref": "#/definitions/Element"
        },
        "instantiatesReference": {
          "description": "A reference to a formal or informal definition of the task.  For example, a protocol, a step within a defined workflow definition, etc.",
          "$ref": "#/definitions/Reference"
        },
        "basedOn": {
          "description": "BasedOn refers to a higher-level authorization that triggered the creation of the task.  It references a \"request\" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the \"request\" resource the task is seeking to fulfil.  This latter resource is referenced by FocusOn.  For example, based on a ServiceRequest (\u003d BasedOn), a task is created to fulfil a procedureRequest ( \u003d FocusOn ) to collect a specimen from a patient.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "groupIdentifier": {
          "description": "An identifier that links together multiple tasks and other requests that were created in the same context.",
          "$ref": "#/definitions/Identifier"
        },
        "partOf": {
          "description": "Task that this particular task is part of.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "status": {
          "description": "The current status of the task.",
          "enum": [
            "draft",
            "requested",
            "received",
            "accepted",
            "rejected",
            "ready",
            "cancelled",
            "in-progress",
            "on-hold",
            "failed",
            "completed",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "statusReason": {
          "description": "An explanation as to why this task is held, failed, was refused, etc.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "businessStatus": {
          "description": "Contains business-specific nuances of the business state.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "intent": {
          "description": "Indicates the \"level\" of actionability associated with the Task.  I.e. Is this a proposed task, a planned task, an actionable task, etc.",
          "$ref": "#/definitions/code"
        },
        "_intent": {
          "description": "Extensions for intent",
          "$ref": "#/definitions/Element"
        },
        "priority": {
          "description": "Indicates how quickly the Task should be addressed with respect to other requests.",
          "$ref": "#/definitions/code"
        },
        "_priority": {
          "description": "Extensions for priority",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "A name or code (or both) briefly describing what the task involves.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "description": {
          "description": "A free-text description of what is to be performed.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "focus": {
          "description": "The request being actioned or the resource being manipulated by this task.",
          "$ref": "#/definitions/Reference"
        },
        "for": {
          "description": "The entity who benefits from the performance of the service specified in the task (e.g., the patient).",
          "$ref": "#/definitions/Reference"
        },
        "context": {
          "description": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this task was created.",
          "$ref": "#/definitions/Reference"
        },
        "executionPeriod": {
          "description": "Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end).",
          "$ref": "#/definitions/Period"
        },
        "authoredOn": {
          "description": "The date and time this task was created.",
          "$ref": "#/definitions/dateTime"
        },
        "_authoredOn": {
          "description": "Extensions for authoredOn",
          "$ref": "#/definitions/Element"
        },
        "lastModified": {
          "description": "The date and time of last modification to this task.",
          "$ref": "#/definitions/dateTime"
        },
        "_lastModified": {
          "description": "Extensions for lastModified",
          "$ref": "#/definitions/Element"
        },
        "requester": {
          "description": "The creator of the task.",
          "$ref": "#/definitions/Reference"
        },
        "performerType": {
          "description": "The type of participant that can execute the task.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "owner": {
          "description": "Individual organization or Device currently responsible for task execution.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCode": {
          "description": "A description or code indicating why this task needs to be performed.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reasonReference": {
          "description": "A resource reference indicating why this task needs to be performed.",
          "$ref": "#/definitions/Reference"
        },
        "note": {
          "description": "Free-text information captured about the task as it progresses.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        },
        "relevantHistory": {
          "description": "Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "restriction": {
          "description": "If the Task.focus is a request resource and the task is seeking fulfillment (i.e is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned.",
          "$ref": "#/definitions/Task_Restriction"
        },
        "input": {
          "description": "Additional information that may be needed in the execution of the task.",
          "items": {
            "$ref": "#/definitions/Task_Input"
          },
          "type": "array"
        },
        "output": {
          "description": "Outputs produced by the Task.",
          "items": {
            "$ref": "#/definitions/Task_Output"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "Task_Restriction": {
      "description": "A task to be performed.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "repetitions": {
          "description": "Indicates the number of times the requested action should occur.",
          "$ref": "#/definitions/positiveInt"
        },
        "_repetitions": {
          "description": "Extensions for repetitions",
          "$ref": "#/definitions/Element"
        },
        "period": {
          "description": "Over what time-period is fulfillment sought.",
          "$ref": "#/definitions/Period"
        },
        "recipient": {
          "description": "For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought?",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "Task_Input": {
      "description": "A task to be performed.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "A code or description indicating how the input is intended to be used as part of the task execution.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueBoolean": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueDecimal": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_valueDecimal": {
          "description": "Extensions for valueDecimal",
          "$ref": "#/definitions/Element"
        },
        "valueBase64Binary": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_valueBase64Binary": {
          "description": "Extensions for valueBase64Binary",
          "$ref": "#/definitions/Element"
        },
        "valueInstant": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_valueInstant": {
          "description": "Extensions for valueInstant",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueUri": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueUri": {
          "description": "Extensions for valueUri",
          "$ref": "#/definitions/Element"
        },
        "valueDate": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_valueDate": {
          "description": "Extensions for valueDate",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        },
        "valueTime": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_valueTime": {
          "description": "Extensions for valueTime",
          "$ref": "#/definitions/Element"
        },
        "valueCode": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_valueCode": {
          "description": "Extensions for valueCode",
          "$ref": "#/definitions/Element"
        },
        "valueOid": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
          "type": "string"
        },
        "_valueOid": {
          "description": "Extensions for valueOid",
          "$ref": "#/definitions/Element"
        },
        "valueId": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_valueId": {
          "description": "Extensions for valueId",
          "$ref": "#/definitions/Element"
        },
        "valueUnsignedInt": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_valueUnsignedInt": {
          "description": "Extensions for valueUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "valuePositiveInt": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_valuePositiveInt": {
          "description": "Extensions for valuePositiveInt",
          "$ref": "#/definitions/Element"
        },
        "valueMarkdown": {
          "description": "The value of the input parameter as a basic type.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueMarkdown": {
          "description": "Extensions for valueMarkdown",
          "$ref": "#/definitions/Element"
        },
        "valueAnnotation": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Annotation"
        },
        "valueAttachment": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Attachment"
        },
        "valueIdentifier": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Identifier"
        },
        "valueCodeableConcept": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueCoding": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Coding"
        },
        "valueQuantity": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Quantity"
        },
        "valueRange": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Range"
        },
        "valuePeriod": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Period"
        },
        "valueRatio": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Ratio"
        },
        "valueSampledData": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/SampledData"
        },
        "valueSignature": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Signature"
        },
        "valueHumanName": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/HumanName"
        },
        "valueAddress": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Address"
        },
        "valueContactPoint": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/ContactPoint"
        },
        "valueTiming": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Timing"
        },
        "valueReference": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Reference"
        },
        "valueMeta": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Meta"
        },
        "valueDosage": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Dosage"
        },
        "valueContactDetail": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/ContactDetail"
        },
        "valueContributor": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/Contributor"
        },
        "valueDataRequirement": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/DataRequirement"
        },
        "valueParameterDefinition": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/ParameterDefinition"
        },
        "valueRelatedArtifact": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/RelatedArtifact"
        },
        "valueTriggerDefinition": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/TriggerDefinition"
        },
        "valueUsageContext": {
          "description": "The value of the input parameter as a basic type.",
          "$ref": "#/definitions/UsageContext"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "Task_Output": {
      "description": "A task to be performed.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The name of the Output parameter.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueBoolean": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueDecimal": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_valueDecimal": {
          "description": "Extensions for valueDecimal",
          "$ref": "#/definitions/Element"
        },
        "valueBase64Binary": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "(\\s*([0-9a-zA-Z\\+/\u003d]){4}\\s*)+",
          "type": "string"
        },
        "_valueBase64Binary": {
          "description": "Extensions for valueBase64Binary",
          "$ref": "#/definitions/Element"
        },
        "valueInstant": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))",
          "type": "string"
        },
        "_valueInstant": {
          "description": "Extensions for valueInstant",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueUri": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueUri": {
          "description": "Extensions for valueUri",
          "$ref": "#/definitions/Element"
        },
        "valueDate": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?",
          "type": "string"
        },
        "_valueDate": {
          "description": "Extensions for valueDate",
          "$ref": "#/definitions/Element"
        },
        "valueDateTime": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?",
          "type": "string"
        },
        "_valueDateTime": {
          "description": "Extensions for valueDateTime",
          "$ref": "#/definitions/Element"
        },
        "valueTime": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?",
          "type": "string"
        },
        "_valueTime": {
          "description": "Extensions for valueTime",
          "$ref": "#/definitions/Element"
        },
        "valueCode": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_valueCode": {
          "description": "Extensions for valueCode",
          "$ref": "#/definitions/Element"
        },
        "valueOid": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "urn:oid:(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*",
          "type": "string"
        },
        "_valueOid": {
          "description": "Extensions for valueOid",
          "$ref": "#/definitions/Element"
        },
        "valueId": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "[A-Za-z0-9\\-\\.]{1,64}",
          "type": "string"
        },
        "_valueId": {
          "description": "Extensions for valueId",
          "$ref": "#/definitions/Element"
        },
        "valueUnsignedInt": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "[0]|([1-9][0-9]*)",
          "type": "number"
        },
        "_valueUnsignedInt": {
          "description": "Extensions for valueUnsignedInt",
          "$ref": "#/definitions/Element"
        },
        "valuePositiveInt": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "[1-9][0-9]*",
          "type": "number"
        },
        "_valuePositiveInt": {
          "description": "Extensions for valuePositiveInt",
          "$ref": "#/definitions/Element"
        },
        "valueMarkdown": {
          "description": "The value of the Output parameter as a basic type.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueMarkdown": {
          "description": "Extensions for valueMarkdown",
          "$ref": "#/definitions/Element"
        },
        "valueAnnotation": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Annotation"
        },
        "valueAttachment": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Attachment"
        },
        "valueIdentifier": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Identifier"
        },
        "valueCodeableConcept": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueCoding": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Coding"
        },
        "valueQuantity": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Quantity"
        },
        "valueRange": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Range"
        },
        "valuePeriod": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Period"
        },
        "valueRatio": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Ratio"
        },
        "valueSampledData": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/SampledData"
        },
        "valueSignature": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Signature"
        },
        "valueHumanName": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/HumanName"
        },
        "valueAddress": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Address"
        },
        "valueContactPoint": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/ContactPoint"
        },
        "valueTiming": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Timing"
        },
        "valueReference": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Reference"
        },
        "valueMeta": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Meta"
        },
        "valueDosage": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Dosage"
        },
        "valueContactDetail": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/ContactDetail"
        },
        "valueContributor": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/Contributor"
        },
        "valueDataRequirement": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/DataRequirement"
        },
        "valueParameterDefinition": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/ParameterDefinition"
        },
        "valueRelatedArtifact": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/RelatedArtifact"
        },
        "valueTriggerDefinition": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/TriggerDefinition"
        },
        "valueUsageContext": {
          "description": "The value of the Output parameter as a basic type.",
          "$ref": "#/definitions/UsageContext"
        }
      },
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "TerminologyCapabilities": {
      "description": "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "resourceType": {
          "description": "This is a TerminologyCapabilities resource",
          "const": "TerminologyCapabilities"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this terminology capabilities is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the terminology capabilities.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this terminology capabilities. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the terminology capabilities was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the terminology capabilities changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the terminology capabilities.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the terminology capabilities from a consumer\u0027s perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate terminology capabilities instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the terminology capabilities is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this terminology capabilities is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "lockedDate": {
          "description": "Whether the server supports lockedDate.",
          "$ref": "#/definitions/boolean"
        },
        "_lockedDate": {
          "description": "Extensions for lockedDate",
          "$ref": "#/definitions/Element"
        },
        "codeSystem": {
          "description": "Identifies a code system that is supported by the server. If there is a no code system URL, then this declares the general assumptions a client can make about support for any CodeSystem resource.",
          "items": {
            "$ref": "#/definitions/TerminologyCapabilities_CodeSystem"
          },
          "type": "array"
        },
        "expansion": {
          "description": "Information about the $expansion operation.",
          "$ref": "#/definitions/TerminologyCapabilities_Expansion"
        },
        "codeSearch": {
          "description": "The degree to which the the server supports the code search parameter on ValueSet, if it is supported.",
          "enum": [
            "explicit",
            "all"
          ]
        },
        "_codeSearch": {
          "description": "Extensions for codeSearch",
          "$ref": "#/definitions/Element"
        },
        "validateCode": {
          "description": "Information about the $validation operation.",
          "$ref": "#/definitions/TerminologyCapabilities_ValidateCode"
        },
        "translation": {
          "description": "Information about the $translation operation.",
          "$ref": "#/definitions/TerminologyCapabilities_Translation"
        },
        "closure": {
          "description": "Whether the $closure operation is supported.",
          "$ref": "#/definitions/TerminologyCapabilities_Closure"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "TerminologyCapabilities_CodeSystem": {
      "description": "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "uri": {
          "description": "URI for the Code System.",
          "$ref": "#/definitions/uri"
        },
        "_uri": {
          "description": "Extensions for uri",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "For the code system, a list of versions that are supported by the server.",
          "items": {
            "$ref": "#/definitions/TerminologyCapabilities_Version"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "TerminologyCapabilities_Version": {
      "description": "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "For version-less code systems, there should be a single version with no identifier.",
          "$ref": "#/definitions/string"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "isDefault": {
          "description": "If this is the default version for this code system.",
          "$ref": "#/definitions/boolean"
        },
        "_isDefault": {
          "description": "Extensions for isDefault",
          "$ref": "#/definitions/Element"
        },
        "compositional": {
          "description": "If the compositional grammar defined by the code system is supported.",
          "$ref": "#/definitions/boolean"
        },
        "_compositional": {
          "description": "Extensions for compositional",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "Language Displays supported.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_language": {
          "description": "Extensions for language",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "filter": {
          "description": "Filter Properties supported.",
          "items": {
            "$ref": "#/definitions/TerminologyCapabilities_Filter"
          },
          "type": "array"
        },
        "property": {
          "description": "Properties supported for $lookup.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_property": {
          "description": "Extensions for property",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "TerminologyCapabilities_Filter": {
      "description": "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Code of the property supported.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "op": {
          "description": "Operations supported for the property.",
          "items": {
            "$ref": "#/definitions/code"
          },
          "type": "array"
        },
        "_op": {
          "description": "Extensions for op",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "TerminologyCapabilities_Expansion": {
      "description": "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "hierarchical": {
          "description": "Whether the server can return nested value sets.",
          "$ref": "#/definitions/boolean"
        },
        "_hierarchical": {
          "description": "Extensions for hierarchical",
          "$ref": "#/definitions/Element"
        },
        "paging": {
          "description": "Whether the server supports paging on expansion.",
          "$ref": "#/definitions/boolean"
        },
        "_paging": {
          "description": "Extensions for paging",
          "$ref": "#/definitions/Element"
        },
        "incomplete": {
          "description": "Allow request for incomplete expansions?",
          "$ref": "#/definitions/boolean"
        },
        "_incomplete": {
          "description": "Extensions for incomplete",
          "$ref": "#/definitions/Element"
        },
        "definition": {
          "description": "Supported fields on ExpansionProfile.",
          "$ref": "#/definitions/Reference"
        },
        "profile": {
          "description": "Supported expansion profiles.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "textFilter": {
          "description": "Documentation about text searching works.",
          "$ref": "#/definitions/markdown"
        },
        "_textFilter": {
          "description": "Extensions for textFilter",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TerminologyCapabilities_ValidateCode": {
      "description": "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "translations": {
          "description": "Whether translations are validated.",
          "$ref": "#/definitions/boolean"
        },
        "_translations": {
          "description": "Extensions for translations",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TerminologyCapabilities_Translation": {
      "description": "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "needsMap": {
          "description": "Whether the client must identify the map.",
          "$ref": "#/definitions/boolean"
        },
        "_needsMap": {
          "description": "Extensions for needsMap",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TerminologyCapabilities_Closure": {
      "description": "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "translation": {
          "description": "If cross-system closure is supported.",
          "$ref": "#/definitions/boolean"
        },
        "_translation": {
          "description": "Extensions for translation",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestReport": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "resourceType": {
          "description": "This is a TestReport resource",
          "const": "TestReport"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Identifier for the TestScript assigned for external purposes outside the context of FHIR.",
          "$ref": "#/definitions/Identifier"
        },
        "name": {
          "description": "A free text natural language name identifying the executed TestScript.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The current state of this test report.",
          "enum": [
            "completed",
            "in-progress",
            "waiting",
            "stopped",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "testScript": {
          "description": "Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the `TestScript.url`.",
          "$ref": "#/definitions/Reference"
        },
        "result": {
          "description": "The overall result from the execution of the TestScript.",
          "enum": [
            "pass",
            "fail",
            "pending"
          ]
        },
        "_result": {
          "description": "Extensions for result",
          "$ref": "#/definitions/Element"
        },
        "score": {
          "description": "The final score (percentage of tests passed) resulting from the execution of the TestScript.",
          "$ref": "#/definitions/decimal"
        },
        "_score": {
          "description": "Extensions for score",
          "$ref": "#/definitions/Element"
        },
        "tester": {
          "description": "Name of the tester producing this report (Organization or individual).",
          "$ref": "#/definitions/string"
        },
        "_tester": {
          "description": "Extensions for tester",
          "$ref": "#/definitions/Element"
        },
        "issued": {
          "description": "When the TestScript was executed and this TestReport was generated.",
          "$ref": "#/definitions/dateTime"
        },
        "_issued": {
          "description": "Extensions for issued",
          "$ref": "#/definitions/Element"
        },
        "participant": {
          "description": "A participant in the test execution, either the execution engine, a client, or a server.",
          "items": {
            "$ref": "#/definitions/TestReport_Participant"
          },
          "type": "array"
        },
        "setup": {
          "description": "The results of the series of required setup operations before the tests were executed.",
          "$ref": "#/definitions/TestReport_Setup"
        },
        "test": {
          "description": "A test executed from the test script.",
          "items": {
            "$ref": "#/definitions/TestReport_Test"
          },
          "type": "array"
        },
        "teardown": {
          "description": "The results of the series of operations required to clean up after the all the tests were executed (successfully or otherwise).",
          "$ref": "#/definitions/TestReport_Teardown"
        }
      },
      "additionalProperties": false,
      "required": [
        "testScript",
        "resourceType"
      ]
    },
    "TestReport_Participant": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of participant.",
          "enum": [
            "test-engine",
            "client",
            "server"
          ]
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "uri": {
          "description": "The uri of the participant. An absolute URL is preferred.",
          "$ref": "#/definitions/uri"
        },
        "_uri": {
          "description": "Extensions for uri",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "The display name of the participant.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestReport_Setup": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "action": {
          "description": "Action would contain either an operation or an assertion.",
          "items": {
            "$ref": "#/definitions/TestReport_Action"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "action"
      ]
    },
    "TestReport_Action": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "operation": {
          "description": "The operation performed.",
          "$ref": "#/definitions/TestReport_Operation"
        },
        "assert": {
          "description": "The results of the assertion performed on the previous operations.",
          "$ref": "#/definitions/TestReport_Assert"
        }
      },
      "additionalProperties": false
    },
    "TestReport_Operation": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "result": {
          "description": "The result of this operation.",
          "enum": [
            "pass",
            "skip",
            "fail",
            "warning",
            "error"
          ]
        },
        "_result": {
          "description": "Extensions for result",
          "$ref": "#/definitions/Element"
        },
        "message": {
          "description": "An explanatory message associated with the result.",
          "$ref": "#/definitions/markdown"
        },
        "_message": {
          "description": "Extensions for message",
          "$ref": "#/definitions/Element"
        },
        "detail": {
          "description": "A link to further details on the result.",
          "$ref": "#/definitions/uri"
        },
        "_detail": {
          "description": "Extensions for detail",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestReport_Assert": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "result": {
          "description": "The result of this assertion.",
          "enum": [
            "pass",
            "skip",
            "fail",
            "warning",
            "error"
          ]
        },
        "_result": {
          "description": "Extensions for result",
          "$ref": "#/definitions/Element"
        },
        "message": {
          "description": "An explanatory message associated with the result.",
          "$ref": "#/definitions/markdown"
        },
        "_message": {
          "description": "Extensions for message",
          "$ref": "#/definitions/Element"
        },
        "detail": {
          "description": "A link to further details on the result.",
          "$ref": "#/definitions/string"
        },
        "_detail": {
          "description": "Extensions for detail",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestReport_Test": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of this test used for tracking/logging purposes by test engines.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A short description of the test used by test engines for tracking and reporting purposes.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "action": {
          "description": "Action would contain either an operation or an assertion.",
          "items": {
            "$ref": "#/definitions/TestReport_Action1"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "action"
      ]
    },
    "TestReport_Action1": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "operation": {
          "description": "An operation would involve a REST request to a server.",
          "$ref": "#/definitions/TestReport_Operation"
        },
        "assert": {
          "description": "The results of the assertion performed on the previous operations.",
          "$ref": "#/definitions/TestReport_Assert"
        }
      },
      "additionalProperties": false
    },
    "TestReport_Teardown": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "action": {
          "description": "The teardown action will only contain an operation.",
          "items": {
            "$ref": "#/definitions/TestReport_Action2"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "action"
      ]
    },
    "TestReport_Action2": {
      "description": "A summary of information based on the results of executing a TestScript.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "operation": {
          "description": "An operation would involve a REST request to a server.",
          "$ref": "#/definitions/TestReport_Operation"
        }
      },
      "additionalProperties": false,
      "required": [
        "operation"
      ]
    },
    "TestScript": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "resourceType": {
          "description": "This is a TestScript resource",
          "const": "TestScript"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this test script is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "$ref": "#/definitions/Identifier"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the test script.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this test script. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the test script was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the test script.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the test script from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate test script instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the test script is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "purpose": {
          "description": "Explaination of why this test script is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "origin": {
          "description": "An abstract server used in operations within this test script in the origin element.",
          "items": {
            "$ref": "#/definitions/TestScript_Origin"
          },
          "type": "array"
        },
        "destination": {
          "description": "An abstract server used in operations within this test script in the destination element.",
          "items": {
            "$ref": "#/definitions/TestScript_Destination"
          },
          "type": "array"
        },
        "metadata": {
          "description": "The required capability must exist and are assumed to function correctly on the FHIR server being tested.",
          "$ref": "#/definitions/TestScript_Metadata"
        },
        "fixture": {
          "description": "Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.",
          "items": {
            "$ref": "#/definitions/TestScript_Fixture"
          },
          "type": "array"
        },
        "profile": {
          "description": "Reference to the profile to be used for validation.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "variable": {
          "description": "Variable is set based either on element value in response body or on header field value in the response headers.",
          "items": {
            "$ref": "#/definitions/TestScript_Variable"
          },
          "type": "array"
        },
        "rule": {
          "description": "Assert rule to be used in one or more asserts within the test script.",
          "items": {
            "$ref": "#/definitions/TestScript_Rule"
          },
          "type": "array"
        },
        "ruleset": {
          "description": "Contains one or more rules.  Offers a way to group rules so assertions could reference the group of rules and have them all applied.",
          "items": {
            "$ref": "#/definitions/TestScript_Ruleset"
          },
          "type": "array"
        },
        "setup": {
          "description": "A series of required setup operations before tests are executed.",
          "$ref": "#/definitions/TestScript_Setup"
        },
        "test": {
          "description": "A test in this script.",
          "items": {
            "$ref": "#/definitions/TestScript_Test"
          },
          "type": "array"
        },
        "teardown": {
          "description": "A series of operations required to clean up after the all the tests are executed (successfully or otherwise).",
          "$ref": "#/definitions/TestScript_Teardown"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "TestScript_Origin": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "index": {
          "description": "Abstract name given to an origin server in this test script.  The name is provided as a number starting at 1.",
          "$ref": "#/definitions/integer"
        },
        "_index": {
          "description": "Extensions for index",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "The type of origin profile the test system supports.",
          "$ref": "#/definitions/Coding"
        }
      },
      "additionalProperties": false,
      "required": [
        "profile"
      ]
    },
    "TestScript_Destination": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "index": {
          "description": "Abstract name given to a destination server in this test script.  The name is provided as a number starting at 1.",
          "$ref": "#/definitions/integer"
        },
        "_index": {
          "description": "Extensions for index",
          "$ref": "#/definitions/Element"
        },
        "profile": {
          "description": "The type of destination profile the test system supports.",
          "$ref": "#/definitions/Coding"
        }
      },
      "additionalProperties": false,
      "required": [
        "profile"
      ]
    },
    "TestScript_Metadata": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "link": {
          "description": "A link to the FHIR specification that this test is covering.",
          "items": {
            "$ref": "#/definitions/TestScript_Link"
          },
          "type": "array"
        },
        "capability": {
          "description": "Capabilities that must exist and are assumed to function correctly on the FHIR server being tested.",
          "items": {
            "$ref": "#/definitions/TestScript_Capability"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "capability"
      ]
    },
    "TestScript_Link": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "URL to a particular requirement or feature within the FHIR specification.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Short description of the link.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Capability": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "required": {
          "description": "Whether or not the test execution will require the given capabilities of the server in order for this test script to execute.",
          "$ref": "#/definitions/boolean"
        },
        "_required": {
          "description": "Extensions for required",
          "$ref": "#/definitions/Element"
        },
        "validated": {
          "description": "Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute.",
          "$ref": "#/definitions/boolean"
        },
        "_validated": {
          "description": "Extensions for validated",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "Description of the capabilities that this test script is requiring the server to support.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "origin": {
          "description": "Which origin server these requirements apply to.",
          "items": {
            "$ref": "#/definitions/integer"
          },
          "type": "array"
        },
        "_origin": {
          "description": "Extensions for origin",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "destination": {
          "description": "Which server these requirements apply to.",
          "$ref": "#/definitions/integer"
        },
        "_destination": {
          "description": "Extensions for destination",
          "$ref": "#/definitions/Element"
        },
        "link": {
          "description": "Links to the FHIR specification that describes this interaction and the resources involved in more detail.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_link": {
          "description": "Extensions for link",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "capabilities": {
          "description": "Minimum capabilities required of server for test script to execute successfully.   If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped.",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false,
      "required": [
        "capabilities"
      ]
    },
    "TestScript_Fixture": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "autocreate": {
          "description": "Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section.",
          "$ref": "#/definitions/boolean"
        },
        "_autocreate": {
          "description": "Extensions for autocreate",
          "$ref": "#/definitions/Element"
        },
        "autodelete": {
          "description": "Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section.",
          "$ref": "#/definitions/boolean"
        },
        "_autodelete": {
          "description": "Extensions for autodelete",
          "$ref": "#/definitions/Element"
        },
        "resource": {
          "description": "Reference to the resource (containing the contents of the resource needed for operations).",
          "$ref": "#/definitions/Reference"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Variable": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Descriptive name for this variable.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "defaultValue": {
          "description": "A default, hard-coded, or user-defined value for this variable.",
          "$ref": "#/definitions/string"
        },
        "_defaultValue": {
          "description": "Extensions for defaultValue",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A free text natural language description of the variable and its purpose.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "The fluentpath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        },
        "headerField": {
          "description": "Will be used to grab the HTTP header field value from the headers that sourceId is pointing to.",
          "$ref": "#/definitions/string"
        },
        "_headerField": {
          "description": "Extensions for headerField",
          "$ref": "#/definitions/Element"
        },
        "hint": {
          "description": "Displayable text string with hint help information to the user when entering a default value.",
          "$ref": "#/definitions/string"
        },
        "_hint": {
          "description": "Extensions for hint",
          "$ref": "#/definitions/Element"
        },
        "path": {
          "description": "XPath or JSONPath to evaluate against the fixture body.  When variables are defined, only one of either expression, headerField or path must be specified.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        },
        "sourceId": {
          "description": "Fixture to evaluate the XPath/JSONPath expression or the headerField  against within this variable.",
          "$ref": "#/definitions/id"
        },
        "_sourceId": {
          "description": "Extensions for sourceId",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Rule": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "resource": {
          "description": "Reference to the resource (containing the contents of the rule needed for assertions).",
          "$ref": "#/definitions/Reference"
        },
        "param": {
          "description": "Each rule template can take one or more parameters for rule evaluation.",
          "items": {
            "$ref": "#/definitions/TestScript_Param"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resource"
      ]
    },
    "TestScript_Param": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Descriptive name for this parameter that matches the external assert rule parameter name.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The explicit or dynamic value for the parameter that will be passed on to the external rule template.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Ruleset": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "resource": {
          "description": "Reference to the resource (containing the contents of the ruleset needed for assertions).",
          "$ref": "#/definitions/Reference"
        },
        "rule": {
          "description": "The referenced rule within the external ruleset template.",
          "items": {
            "$ref": "#/definitions/TestScript_Rule1"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resource",
        "rule"
      ]
    },
    "TestScript_Rule1": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "ruleId": {
          "description": "Id of the referenced rule within the external ruleset template.",
          "$ref": "#/definitions/id"
        },
        "_ruleId": {
          "description": "Extensions for ruleId",
          "$ref": "#/definitions/Element"
        },
        "param": {
          "description": "Each rule template can take one or more parameters for rule evaluation.",
          "items": {
            "$ref": "#/definitions/TestScript_Param1"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Param1": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Descriptive name for this parameter that matches the external assert ruleset rule parameter name.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The value for the parameter that will be passed on to the external ruleset rule template.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Setup": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "action": {
          "description": "Action would contain either an operation or an assertion.",
          "items": {
            "$ref": "#/definitions/TestScript_Action"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "action"
      ]
    },
    "TestScript_Action": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "operation": {
          "description": "The operation to perform.",
          "$ref": "#/definitions/TestScript_Operation"
        },
        "assert": {
          "description": "Evaluates the results of previous operations to determine if the server under test behaves appropriately.",
          "$ref": "#/definitions/TestScript_Assert"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Operation": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Server interaction or operation type.",
          "$ref": "#/definitions/Coding"
        },
        "resource": {
          "description": "The type of the resource.  See http://build.fhir.org/resourcelist.html.",
          "$ref": "#/definitions/code"
        },
        "_resource": {
          "description": "Extensions for resource",
          "$ref": "#/definitions/Element"
        },
        "label": {
          "description": "The label would be used for tracking/logging purposes by test engines.",
          "$ref": "#/definitions/string"
        },
        "_label": {
          "description": "Extensions for label",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "The description would be used by test engines for tracking and reporting purposes.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "accept": {
          "description": "The mime-type to use for RESTful operation in the \u0027Accept\u0027 header.",
          "$ref": "#/definitions/code"
        },
        "_accept": {
          "description": "Extensions for accept",
          "$ref": "#/definitions/Element"
        },
        "contentType": {
          "description": "The mime-type to use for RESTful operation in the \u0027Content-Type\u0027 header.",
          "$ref": "#/definitions/code"
        },
        "_contentType": {
          "description": "Extensions for contentType",
          "$ref": "#/definitions/Element"
        },
        "destination": {
          "description": "The server where the request message is destined for.  Must be one of the server numbers listed in TestScript.destination section.",
          "$ref": "#/definitions/integer"
        },
        "_destination": {
          "description": "Extensions for destination",
          "$ref": "#/definitions/Element"
        },
        "encodeRequestUrl": {
          "description": "Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths.",
          "$ref": "#/definitions/boolean"
        },
        "_encodeRequestUrl": {
          "description": "Extensions for encodeRequestUrl",
          "$ref": "#/definitions/Element"
        },
        "origin": {
          "description": "The server where the request message originates from.  Must be one of the server numbers listed in TestScript.origin section.",
          "$ref": "#/definitions/integer"
        },
        "_origin": {
          "description": "Extensions for origin",
          "$ref": "#/definitions/Element"
        },
        "params": {
          "description": "Path plus parameters after [type].  Used to set parts of the request URL explicitly.",
          "$ref": "#/definitions/string"
        },
        "_params": {
          "description": "Extensions for params",
          "$ref": "#/definitions/Element"
        },
        "requestHeader": {
          "description": "Header elements would be used to set HTTP headers.",
          "items": {
            "$ref": "#/definitions/TestScript_RequestHeader"
          },
          "type": "array"
        },
        "requestId": {
          "description": "The fixture id (maybe new) to map to the request.",
          "$ref": "#/definitions/id"
        },
        "_requestId": {
          "description": "Extensions for requestId",
          "$ref": "#/definitions/Element"
        },
        "responseId": {
          "description": "The fixture id (maybe new) to map to the response.",
          "$ref": "#/definitions/id"
        },
        "_responseId": {
          "description": "Extensions for responseId",
          "$ref": "#/definitions/Element"
        },
        "sourceId": {
          "description": "The id of the fixture used as the body of a PUT or POST request.",
          "$ref": "#/definitions/id"
        },
        "_sourceId": {
          "description": "Extensions for sourceId",
          "$ref": "#/definitions/Element"
        },
        "targetId": {
          "description": "Id of fixture used for extracting the [id],  [type], and [vid] for GET requests.",
          "$ref": "#/definitions/id"
        },
        "_targetId": {
          "description": "Extensions for targetId",
          "$ref": "#/definitions/Element"
        },
        "url": {
          "description": "Complete request URL.",
          "$ref": "#/definitions/string"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestScript_RequestHeader": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "field": {
          "description": "The HTTP header field e.g. \"Accept\".",
          "$ref": "#/definitions/string"
        },
        "_field": {
          "description": "Extensions for field",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The value of the header e.g. \"application/fhir+xml\".",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Assert": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "label": {
          "description": "The label would be used for tracking/logging purposes by test engines.",
          "$ref": "#/definitions/string"
        },
        "_label": {
          "description": "Extensions for label",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "The description would be used by test engines for tracking and reporting purposes.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "direction": {
          "description": "The direction to use for the assertion.",
          "enum": [
            "response",
            "request"
          ]
        },
        "_direction": {
          "description": "Extensions for direction",
          "$ref": "#/definitions/Element"
        },
        "compareToSourceId": {
          "description": "Id of the source fixture used as the contents to be evaluated by either the \"source/expression\" or \"sourceId/path\" definition.",
          "$ref": "#/definitions/string"
        },
        "_compareToSourceId": {
          "description": "Extensions for compareToSourceId",
          "$ref": "#/definitions/Element"
        },
        "compareToSourceExpression": {
          "description": "The fluentpath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.",
          "$ref": "#/definitions/string"
        },
        "_compareToSourceExpression": {
          "description": "Extensions for compareToSourceExpression",
          "$ref": "#/definitions/Element"
        },
        "compareToSourcePath": {
          "description": "XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.",
          "$ref": "#/definitions/string"
        },
        "_compareToSourcePath": {
          "description": "Extensions for compareToSourcePath",
          "$ref": "#/definitions/Element"
        },
        "contentType": {
          "description": "The mime-type contents to compare against the request or response message \u0027Content-Type\u0027 header.",
          "$ref": "#/definitions/code"
        },
        "_contentType": {
          "description": "Extensions for contentType",
          "$ref": "#/definitions/Element"
        },
        "expression": {
          "description": "The fluentpath expression to be evaluated against the request or response message contents - HTTP headers and payload.",
          "$ref": "#/definitions/string"
        },
        "_expression": {
          "description": "Extensions for expression",
          "$ref": "#/definitions/Element"
        },
        "headerField": {
          "description": "The HTTP header field name e.g. \u0027Location\u0027.",
          "$ref": "#/definitions/string"
        },
        "_headerField": {
          "description": "Extensions for headerField",
          "$ref": "#/definitions/Element"
        },
        "minimumId": {
          "description": "The ID of a fixture.  Asserts that the response contains at a minimum the fixture specified by minimumId.",
          "$ref": "#/definitions/string"
        },
        "_minimumId": {
          "description": "Extensions for minimumId",
          "$ref": "#/definitions/Element"
        },
        "navigationLinks": {
          "description": "Whether or not the test execution performs validation on the bundle navigation links.",
          "$ref": "#/definitions/boolean"
        },
        "_navigationLinks": {
          "description": "Extensions for navigationLinks",
          "$ref": "#/definitions/Element"
        },
        "operator": {
          "description": "The operator type defines the conditional behavior of the assert. If not defined, the default is equals.",
          "enum": [
            "equals",
            "notEquals",
            "in",
            "notIn",
            "greaterThan",
            "lessThan",
            "empty",
            "notEmpty",
            "contains",
            "notContains",
            "eval"
          ]
        },
        "_operator": {
          "description": "Extensions for operator",
          "$ref": "#/definitions/Element"
        },
        "path": {
          "description": "The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server.",
          "$ref": "#/definitions/string"
        },
        "_path": {
          "description": "Extensions for path",
          "$ref": "#/definitions/Element"
        },
        "requestMethod": {
          "description": "The request method or HTTP operation code to compare against that used by the client system under test.",
          "enum": [
            "delete",
            "get",
            "options",
            "patch",
            "post",
            "put"
          ]
        },
        "_requestMethod": {
          "description": "Extensions for requestMethod",
          "$ref": "#/definitions/Element"
        },
        "requestURL": {
          "description": "The value to use in a comparison against the request URL path string.",
          "$ref": "#/definitions/string"
        },
        "_requestURL": {
          "description": "Extensions for requestURL",
          "$ref": "#/definitions/Element"
        },
        "resource": {
          "description": "The type of the resource.  See http://build.fhir.org/resourcelist.html.",
          "$ref": "#/definitions/code"
        },
        "_resource": {
          "description": "Extensions for resource",
          "$ref": "#/definitions/Element"
        },
        "response": {
          "description": "okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable.",
          "enum": [
            "okay",
            "created",
            "noContent",
            "notModified",
            "bad",
            "forbidden",
            "notFound",
            "methodNotAllowed",
            "conflict",
            "gone",
            "preconditionFailed",
            "unprocessable"
          ]
        },
        "_response": {
          "description": "Extensions for response",
          "$ref": "#/definitions/Element"
        },
        "responseCode": {
          "description": "The value of the HTTP response code to be tested.",
          "$ref": "#/definitions/string"
        },
        "_responseCode": {
          "description": "Extensions for responseCode",
          "$ref": "#/definitions/Element"
        },
        "rule": {
          "description": "The TestScript.rule this assert will evaluate.",
          "$ref": "#/definitions/TestScript_Rule2"
        },
        "ruleset": {
          "description": "The TestScript.ruleset this assert will evaluate.",
          "$ref": "#/definitions/TestScript_Ruleset1"
        },
        "sourceId": {
          "description": "Fixture to evaluate the XPath/JSONPath expression or the headerField  against.",
          "$ref": "#/definitions/id"
        },
        "_sourceId": {
          "description": "Extensions for sourceId",
          "$ref": "#/definitions/Element"
        },
        "validateProfileId": {
          "description": "The ID of the Profile to validate against.",
          "$ref": "#/definitions/id"
        },
        "_validateProfileId": {
          "description": "Extensions for validateProfileId",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The value to compare to.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        },
        "warningOnly": {
          "description": "Whether or not the test execution will produce a warning only on error for this assert.",
          "$ref": "#/definitions/boolean"
        },
        "_warningOnly": {
          "description": "Extensions for warningOnly",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Rule2": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "ruleId": {
          "description": "The TestScript.rule id value this assert will evaluate.",
          "$ref": "#/definitions/id"
        },
        "_ruleId": {
          "description": "Extensions for ruleId",
          "$ref": "#/definitions/Element"
        },
        "param": {
          "description": "Each rule template can take one or more parameters for rule evaluation.",
          "items": {
            "$ref": "#/definitions/TestScript_Param2"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Param2": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Descriptive name for this parameter that matches the external assert rule parameter name.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The value for the parameter that will be passed on to the external rule template.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Ruleset1": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "rulesetId": {
          "description": "The TestScript.ruleset id value this assert will evaluate.",
          "$ref": "#/definitions/id"
        },
        "_rulesetId": {
          "description": "Extensions for rulesetId",
          "$ref": "#/definitions/Element"
        },
        "rule": {
          "description": "The referenced rule within the external ruleset template.",
          "items": {
            "$ref": "#/definitions/TestScript_Rule3"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Rule3": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "ruleId": {
          "description": "Id of the referenced rule within the external ruleset template.",
          "$ref": "#/definitions/id"
        },
        "_ruleId": {
          "description": "Extensions for ruleId",
          "$ref": "#/definitions/Element"
        },
        "param": {
          "description": "Each rule template can take one or more parameters for rule evaluation.",
          "items": {
            "$ref": "#/definitions/TestScript_Param3"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Param3": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "Descriptive name for this parameter that matches the external assert ruleset rule parameter name.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The value for the parameter that will be passed on to the external ruleset rule template.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Test": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of this test used for tracking/logging purposes by test engines.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "description": {
          "description": "A short description of the test used by test engines for tracking and reporting purposes.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "action": {
          "description": "Action would contain either an operation or an assertion.",
          "items": {
            "$ref": "#/definitions/TestScript_Action1"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "action"
      ]
    },
    "TestScript_Action1": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "operation": {
          "description": "An operation would involve a REST request to a server.",
          "$ref": "#/definitions/TestScript_Operation"
        },
        "assert": {
          "description": "Evaluates the results of previous operations to determine if the server under test behaves appropriately.",
          "$ref": "#/definitions/TestScript_Assert"
        }
      },
      "additionalProperties": false
    },
    "TestScript_Teardown": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "action": {
          "description": "The teardown action will only contain an operation.",
          "items": {
            "$ref": "#/definitions/TestScript_Action2"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "action"
      ]
    },
    "TestScript_Action2": {
      "description": "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "operation": {
          "description": "An operation would involve a REST request to a server.",
          "$ref": "#/definitions/TestScript_Operation"
        }
      },
      "additionalProperties": false,
      "required": [
        "operation"
      ]
    },
    "UserSession": {
      "description": "Information about a user\u0027s current session.",
      "properties": {
        "resourceType": {
          "description": "This is a UserSession resource",
          "const": "UserSession"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Allows a service to provide a unique, business identifier for the session.",
          "$ref": "#/definitions/Identifier"
        },
        "user": {
          "description": "A practitioner, patient, device, or related person engaged in the session.",
          "$ref": "#/definitions/Reference"
        },
        "status": {
          "description": "Status of the session.",
          "$ref": "#/definitions/UserSession_Status"
        },
        "workstation": {
          "description": "Location that identifies the physical place at which the user\u0027s session is occurring. For the purposes of context synchronization, this is intended to represent the user\u0027s workstation.",
          "$ref": "#/definitions/Identifier"
        },
        "focus": {
          "description": "The current focus of the user\u0027s session. Common values are a reference to a Patient, Encounter, ImagingStudy, etc.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "created": {
          "description": "Indicates the timestamp when the user session was first created.",
          "$ref": "#/definitions/instant"
        },
        "_created": {
          "description": "Extensions for created",
          "$ref": "#/definitions/Element"
        },
        "expires": {
          "description": "Indicates the timestamp when the user session will expire (i.e. no longer be valid).",
          "$ref": "#/definitions/instant"
        },
        "_expires": {
          "description": "Extensions for expires",
          "$ref": "#/definitions/Element"
        },
        "context": {
          "description": "Provides additional information associated with the context.",
          "items": {
            "$ref": "#/definitions/UserSession_Context"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "user",
        "resourceType"
      ]
    },
    "UserSession_Status": {
      "description": "Information about a user\u0027s current session.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "The current status of the user session.",
          "enum": [
            "activating",
            "active",
            "suspended",
            "closing",
            "closed"
          ]
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "source": {
          "description": "The source of the status code.",
          "enum": [
            "user",
            "system"
          ]
        },
        "_source": {
          "description": "Extensions for source",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "UserSession_Context": {
      "description": "Information about a user\u0027s current session.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "type": {
          "description": "Indicates which type of context is being provided.",
          "$ref": "#/definitions/string"
        },
        "_type": {
          "description": "Extensions for type",
          "$ref": "#/definitions/Element"
        },
        "valueCodeableConcept": {
          "description": "Provides the context value.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "valueQuantity": {
          "description": "Provides the context value.",
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false
    },
    "ValueSet": {
      "description": "A value set specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "resourceType": {
          "description": "This is a ValueSet resource",
          "const": "ValueSet"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "url": {
          "description": "An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this value set is (or will be) published.",
          "$ref": "#/definitions/uri"
        },
        "_url": {
          "description": "Extensions for url",
          "$ref": "#/definitions/Element"
        },
        "identifier": {
          "description": "A formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "name": {
          "description": "A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "title": {
          "description": "A short, descriptive, user-friendly title for the value set.",
          "$ref": "#/definitions/string"
        },
        "_title": {
          "description": "Extensions for title",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The status of this value set. Enables tracking the life-cycle of the content.",
          "enum": [
            "draft",
            "active",
            "retired",
            "unknown"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "experimental": {
          "description": "A boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
          "$ref": "#/definitions/boolean"
        },
        "_experimental": {
          "description": "Extensions for experimental",
          "$ref": "#/definitions/Element"
        },
        "date": {
          "description": "The date  (and optionally time) when the value set was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the value set changes. (e.g. the \u0027content logical definition\u0027).",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "publisher": {
          "description": "The name of the individual or organization that published the value set.",
          "$ref": "#/definitions/string"
        },
        "_publisher": {
          "description": "Extensions for publisher",
          "$ref": "#/definitions/Element"
        },
        "contact": {
          "description": "Contact details to assist a user in finding and communicating with the publisher.",
          "items": {
            "$ref": "#/definitions/ContactDetail"
          },
          "type": "array"
        },
        "description": {
          "description": "A free text natural language description of the value set from a consumer\u0027s perspective.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "#/definitions/Element"
        },
        "useContext": {
          "description": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate value set instances.",
          "items": {
            "$ref": "#/definitions/UsageContext"
          },
          "type": "array"
        },
        "jurisdiction": {
          "description": "A legal or geographic region in which the value set is intended to be used.",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "immutable": {
          "description": "If this is set to \u0027true\u0027, then no new versions of the content logical definition can be created.  Note: Other metadata might still change.",
          "$ref": "#/definitions/boolean"
        },
        "_immutable": {
          "description": "Extensions for immutable",
          "$ref": "#/definitions/Element"
        },
        "purpose": {
          "description": "Explaination of why this value set is needed and why it has been designed as it has.",
          "$ref": "#/definitions/markdown"
        },
        "_purpose": {
          "description": "Extensions for purpose",
          "$ref": "#/definitions/Element"
        },
        "copyright": {
          "description": "A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.",
          "$ref": "#/definitions/markdown"
        },
        "_copyright": {
          "description": "Extensions for copyright",
          "$ref": "#/definitions/Element"
        },
        "extensible": {
          "description": "Whether this is intended to be used with an extensible binding or not.",
          "$ref": "#/definitions/boolean"
        },
        "_extensible": {
          "description": "Extensions for extensible",
          "$ref": "#/definitions/Element"
        },
        "compose": {
          "description": "A set of criteria that define the content logical definition of the value set by including or excluding codes from outside this value set. This I also known as the \"Content Logical Definition\" (CLD).",
          "$ref": "#/definitions/ValueSet_Compose"
        },
        "expansion": {
          "description": "A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.",
          "$ref": "#/definitions/ValueSet_Expansion"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "ValueSet_Compose": {
      "description": "A value set specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "lockedDate": {
          "description": "If a locked date is defined, then the Content Logical Definition must be evaluated using the current version as of the locked date for referenced code system(s) and value set instances where ValueSet.compose.include.version is not defined.",
          "$ref": "#/definitions/date"
        },
        "_lockedDate": {
          "description": "Extensions for lockedDate",
          "$ref": "#/definitions/Element"
        },
        "inactive": {
          "description": "Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive \u003d true, inactive codes are to be included in the expansion, if inactive \u003d false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable ExpansionProfile (but generally, inactive codes would be expected to be included).",
          "$ref": "#/definitions/boolean"
        },
        "_inactive": {
          "description": "Extensions for inactive",
          "$ref": "#/definitions/Element"
        },
        "include": {
          "description": "Include one or more codes from a code system or other value set(s).",
          "items": {
            "$ref": "#/definitions/ValueSet_Include"
          },
          "type": "array"
        },
        "exclude": {
          "description": "Exclude one or more codes from the value set based on code system filters and/or other value sets.",
          "items": {
            "$ref": "#/definitions/ValueSet_Include"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "include"
      ]
    },
    "ValueSet_Include": {
      "description": "A value set specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "system": {
          "description": "An absolute URI which is the code system from which the selected codes come from.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The version of the code system that the codes are selected from.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "concept": {
          "description": "Specifies a concept to be included or excluded.",
          "items": {
            "$ref": "#/definitions/ValueSet_Concept"
          },
          "type": "array"
        },
        "filter": {
          "description": "Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true.",
          "items": {
            "$ref": "#/definitions/ValueSet_Filter"
          },
          "type": "array"
        },
        "valueSet": {
          "description": "Selects concepts found in this value set. This is an absolute URI that is a reference to ValueSet.url.",
          "items": {
            "$ref": "#/definitions/uri"
          },
          "type": "array"
        },
        "_valueSet": {
          "description": "Extensions for valueSet",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ValueSet_Concept": {
      "description": "A value set specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "code": {
          "description": "Specifies a code for the concept to be included or excluded.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        },
        "designation": {
          "description": "Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc.",
          "items": {
            "$ref": "#/definitions/ValueSet_Designation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ValueSet_Designation": {
      "description": "A value set specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "language": {
          "description": "The language this designation is defined for.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "use": {
          "description": "A code that details how this designation would be used.",
          "$ref": "#/definitions/Coding"
        },
        "value": {
          "description": "The text value for this designation.",
          "$ref": "#/definitions/string"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ValueSet_Filter": {
      "description": "A value set specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "property": {
          "description": "A code that identifies a property defined in the code system.",
          "$ref": "#/definitions/code"
        },
        "_property": {
          "description": "Extensions for property",
          "$ref": "#/definitions/Element"
        },
        "op": {
          "description": "The kind of operation to perform as a part of the filter criteria.",
          "enum": [
            "\u003d",
            "is-a",
            "descendent-of",
            "is-not-a",
            "regex",
            "in",
            "not-in",
            "generalizes",
            "exists"
          ]
        },
        "_op": {
          "description": "Extensions for op",
          "$ref": "#/definitions/Element"
        },
        "value": {
          "description": "The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value when the operation is \u0027regex\u0027, or one of the values (true and false), when the operation is \u0027exists\u0027.",
          "$ref": "#/definitions/code"
        },
        "_value": {
          "description": "Extensions for value",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ValueSet_Expansion": {
      "description": "A value set specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "An identifier that uniquely identifies this expansion of the valueset. Systems may re-use the same identifier as long as the expansion and the definition remain the same, but are not required to do so.",
          "$ref": "#/definitions/uri"
        },
        "_identifier": {
          "description": "Extensions for identifier",
          "$ref": "#/definitions/Element"
        },
        "timestamp": {
          "description": "The time at which the expansion was produced by the expanding system.",
          "$ref": "#/definitions/dateTime"
        },
        "_timestamp": {
          "description": "Extensions for timestamp",
          "$ref": "#/definitions/Element"
        },
        "total": {
          "description": "The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter.",
          "$ref": "#/definitions/integer"
        },
        "_total": {
          "description": "Extensions for total",
          "$ref": "#/definitions/Element"
        },
        "offset": {
          "description": "If paging is being used, the offset at which this resource starts.  I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL not be present.",
          "$ref": "#/definitions/integer"
        },
        "_offset": {
          "description": "Extensions for offset",
          "$ref": "#/definitions/Element"
        },
        "parameter": {
          "description": "A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion.",
          "items": {
            "$ref": "#/definitions/ValueSet_Parameter"
          },
          "type": "array"
        },
        "contains": {
          "description": "The codes that are contained in the value set expansion.",
          "items": {
            "$ref": "#/definitions/ValueSet_Contains"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "ValueSet_Parameter": {
      "description": "A value set specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of the parameter.",
          "$ref": "#/definitions/string"
        },
        "_name": {
          "description": "Extensions for name",
          "$ref": "#/definitions/Element"
        },
        "valueString": {
          "description": "The value of the parameter.",
          "pattern": "\\s*(\\S|\\s)*",
          "type": "string"
        },
        "_valueString": {
          "description": "Extensions for valueString",
          "$ref": "#/definitions/Element"
        },
        "valueBoolean": {
          "description": "The value of the parameter.",
          "pattern": "true|false",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "#/definitions/Element"
        },
        "valueInteger": {
          "description": "The value of the parameter.",
          "pattern": "-?([0]|([1-9][0-9]*))",
          "type": "number"
        },
        "_valueInteger": {
          "description": "Extensions for valueInteger",
          "$ref": "#/definitions/Element"
        },
        "valueDecimal": {
          "description": "The value of the parameter.",
          "pattern": "-?([0]|([1-9][0-9]*))(\\.[0-9]+)?",
          "type": "number"
        },
        "_valueDecimal": {
          "description": "Extensions for valueDecimal",
          "$ref": "#/definitions/Element"
        },
        "valueUri": {
          "description": "The value of the parameter.",
          "pattern": "\\S*",
          "type": "string"
        },
        "_valueUri": {
          "description": "Extensions for valueUri",
          "$ref": "#/definitions/Element"
        },
        "valueCode": {
          "description": "The value of the parameter.",
          "pattern": "[^\\s]+(\\s[^\\s]+)*",
          "type": "string"
        },
        "_valueCode": {
          "description": "Extensions for valueCode",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false
    },
    "ValueSet_Contains": {
      "description": "A value set specifies a set of codes drawn from one or more code systems.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "system": {
          "description": "An absolute URI which is the code system in which the code for this item in the expansion is defined.",
          "$ref": "#/definitions/uri"
        },
        "_system": {
          "description": "Extensions for system",
          "$ref": "#/definitions/Element"
        },
        "abstract": {
          "description": "If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value.",
          "$ref": "#/definitions/boolean"
        },
        "_abstract": {
          "description": "Extensions for abstract",
          "$ref": "#/definitions/Element"
        },
        "inactive": {
          "description": "If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data.",
          "$ref": "#/definitions/boolean"
        },
        "_inactive": {
          "description": "Extensions for inactive",
          "$ref": "#/definitions/Element"
        },
        "version": {
          "description": "The version of this code system that defined this code and/or display. This should only be used with code systems that do not enforce concept permanence.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "#/definitions/Element"
        },
        "code": {
          "description": "The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set.",
          "$ref": "#/definitions/code"
        },
        "_code": {
          "description": "Extensions for code",
          "$ref": "#/definitions/Element"
        },
        "display": {
          "description": "The recommended display for this item in the expansion.",
          "$ref": "#/definitions/string"
        },
        "_display": {
          "description": "Extensions for display",
          "$ref": "#/definitions/Element"
        },
        "designation": {
          "description": "Additional representations for this item - other languages, aliases, specialized purposes, used for particular purposes, etc. These are relevant when the conditions of the expansion do not fix to a single correct representation.",
          "items": {
            "$ref": "#/definitions/ValueSet_Designation"
          },
          "type": "array"
        },
        "contains": {
          "description": "Other codes and entries contained under this entry in the hierarchy.",
          "items": {
            "$ref": "#/definitions/ValueSet_Contains"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "VerificationResult": {
      "description": "Describes validation requirements, source(s), status and dates for one or more elements.",
      "properties": {
        "resourceType": {
          "description": "This is a VerificationResult resource",
          "const": "VerificationResult"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "target": {
          "description": "A resource that was validated.",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "type": "array"
        },
        "targetLocation": {
          "description": "The fhirpath location(s) within the resource that was validated.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_targetLocation": {
          "description": "Extensions for targetLocation",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        },
        "need": {
          "description": "The frequency with which the target must be validated (none; initial; periodic).",
          "enum": [
            "none",
            "initial",
            "periodic"
          ]
        },
        "_need": {
          "description": "Extensions for need",
          "$ref": "#/definitions/Element"
        },
        "status": {
          "description": "The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed).",
          "enum": [
            "attested",
            "validated",
            "in-process",
            "req-revalid",
            "val-fail",
            "reval-fail"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "statusDate": {
          "description": "When the validation status was updated.",
          "$ref": "#/definitions/dateTime"
        },
        "_statusDate": {
          "description": "Extensions for statusDate",
          "$ref": "#/definitions/Element"
        },
        "validationType": {
          "description": "What the target is validated against (nothing; primary source; multiple sources).",
          "enum": [
            "nothing",
            "primary",
            "multiple"
          ]
        },
        "_validationType": {
          "description": "Extensions for validationType",
          "$ref": "#/definitions/Element"
        },
        "validationProcess": {
          "description": "The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "frequency": {
          "description": "Frequency of revalidation.",
          "$ref": "#/definitions/Timing"
        },
        "lastPerformed": {
          "description": "The date/time validation was last completed (incl. failed validations).",
          "$ref": "#/definitions/dateTime"
        },
        "_lastPerformed": {
          "description": "Extensions for lastPerformed",
          "$ref": "#/definitions/Element"
        },
        "nextScheduled": {
          "description": "The date when target is next validated, if appropriate.",
          "$ref": "#/definitions/date"
        },
        "_nextScheduled": {
          "description": "Extensions for nextScheduled",
          "$ref": "#/definitions/Element"
        },
        "failureAction": {
          "description": "The result if validation fails (fatal; warning; record only; none).",
          "enum": [
            "fatal",
            "warn",
            "rec-only",
            "none"
          ]
        },
        "_failureAction": {
          "description": "Extensions for failureAction",
          "$ref": "#/definitions/Element"
        },
        "primarySource": {
          "description": "Information about the primary source(s) involved in validation.",
          "items": {
            "$ref": "#/definitions/VerificationResult_PrimarySource"
          },
          "type": "array"
        },
        "attestation": {
          "description": "Information about the entity attesting to information.",
          "$ref": "#/definitions/VerificationResult_Attestation"
        },
        "validator": {
          "description": "Information about the entity validating information.",
          "items": {
            "$ref": "#/definitions/VerificationResult_Validator"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "validationProcess",
        "resourceType"
      ]
    },
    "VerificationResult_PrimarySource": {
      "description": "Describes validation requirements, source(s), status and dates for one or more elements.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "URI of the primary source for validation.",
          "$ref": "#/definitions/Identifier"
        },
        "organization": {
          "description": "Reference to the primary source.",
          "$ref": "#/definitions/Reference"
        },
        "type": {
          "description": "Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "validationProcess": {
          "description": "Method for communicating with the primary source (manual; API; Push).",
          "items": {
            "$ref": "#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "validationStatus": {
          "description": "Status of the validation of the target against the primary source (successful; failed; unknown).",
          "enum": [
            "successful",
            "failed",
            "unknown"
          ]
        },
        "_validationStatus": {
          "description": "Extensions for validationStatus",
          "$ref": "#/definitions/Element"
        },
        "validationDate": {
          "description": "When the target was validated against the primary source.",
          "$ref": "#/definitions/dateTime"
        },
        "_validationDate": {
          "description": "Extensions for validationDate",
          "$ref": "#/definitions/Element"
        },
        "canPushUpdates": {
          "description": "Ability of the primary source to push updates/alerts (yes; no; undetermined).",
          "enum": [
            "yes",
            "no",
            "undetermined"
          ]
        },
        "_canPushUpdates": {
          "description": "Extensions for canPushUpdates",
          "$ref": "#/definitions/Element"
        },
        "pushTypeAvailable": {
          "description": "Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source).",
          "items": {
            "enum": [
              "specific",
              "any",
              "source"
            ]
          },
          "type": "array"
        },
        "_pushTypeAvailable": {
          "description": "Extensions for pushTypeAvailable",
          "items": {
            "$ref": "#/definitions/Element"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "type",
        "validationProcess"
      ]
    },
    "VerificationResult_Attestation": {
      "description": "Describes validation requirements, source(s), status and dates for one or more elements.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "source": {
          "description": "The individual attesting to information.",
          "$ref": "#/definitions/Reference"
        },
        "organization": {
          "description": "The organization attesting to information.",
          "$ref": "#/definitions/Reference"
        },
        "method": {
          "description": "Who is providing the attested information (owner; authorized representative; authorized intermediary; non-authorized source).",
          "$ref": "#/definitions/CodeableConcept"
        },
        "date": {
          "description": "The date the information was attested to.",
          "$ref": "#/definitions/date"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "#/definitions/Element"
        },
        "sourceIdentityCertificate": {
          "description": "A digital identity certificate associated with the attestation source.",
          "$ref": "#/definitions/string"
        },
        "_sourceIdentityCertificate": {
          "description": "Extensions for sourceIdentityCertificate",
          "$ref": "#/definitions/Element"
        },
        "proxyIdentityCertificate": {
          "description": "A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source.",
          "$ref": "#/definitions/string"
        },
        "_proxyIdentityCertificate": {
          "description": "Extensions for proxyIdentityCertificate",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "method",
        "organization",
        "source"
      ]
    },
    "VerificationResult_Validator": {
      "description": "Describes validation requirements, source(s), status and dates for one or more elements.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "URI of the validator.",
          "$ref": "#/definitions/Identifier"
        },
        "organization": {
          "description": "Reference to the organization validating information.",
          "$ref": "#/definitions/Reference"
        },
        "identityCertificate": {
          "description": "A digital identity certificate associated with the validator.",
          "$ref": "#/definitions/string"
        },
        "_identityCertificate": {
          "description": "Extensions for identityCertificate",
          "$ref": "#/definitions/Element"
        },
        "dateValidated": {
          "description": "Date on which the validator last validated the information.",
          "$ref": "#/definitions/date"
        },
        "_dateValidated": {
          "description": "Extensions for dateValidated",
          "$ref": "#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "organization"
      ]
    },
    "VisionPrescription": {
      "description": "An authorization for the supply of glasses and/or contact lenses to a patient.",
      "properties": {
        "resourceType": {
          "description": "This is a VisionPrescription resource",
          "const": "VisionPrescription"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Business identifier which may be used by other parties to reference or identify the prescription.",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "The status of the resource instance.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "#/definitions/Element"
        },
        "patient": {
          "description": "A link to a resource representing the person to whom the vision products will be supplied.",
          "$ref": "#/definitions/Reference"
        },
        "encounter": {
          "description": "A link to a resource that identifies the particular occurrence of contact between patient and health care provider.",
          "$ref": "#/definitions/Reference"
        },
        "dateWritten": {
          "description": "The date (and perhaps time) when the prescription was written.",
          "$ref": "#/definitions/dateTime"
        },
        "_dateWritten": {
          "description": "Extensions for dateWritten",
          "$ref": "#/definitions/Element"
        },
        "prescriber": {
          "description": "The healthcare professional responsible for authorizing the prescription.",
          "$ref": "#/definitions/Reference"
        },
        "reasonCodeableConcept": {
          "description": "Can be the reason or the indication for writing the prescription.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "reasonReference": {
          "description": "Can be the reason or the indication for writing the prescription.",
          "$ref": "#/definitions/Reference"
        },
        "dispense": {
          "description": "Deals with details of the dispense part of the supply specification.",
          "items": {
            "$ref": "#/definitions/VisionPrescription_Dispense"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "VisionPrescription_Dispense": {
      "description": "An authorization for the supply of glasses and/or contact lenses to a patient.",
      "properties": {
        "id": {
          "description": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
          "$ref": "#/definitions/string"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
          "items": {
            "$ref": "#/definitions/Extension"
          },
          "type": "array"
        },
        "product": {
          "description": "Identifies the type of vision correction product which is required for the patient.",
          "$ref": "#/definitions/CodeableConcept"
        },
        "eye": {
          "description": "The eye for which the lens applies.",
          "enum": [
            "right",
            "left"
          ]
        },
        "_eye": {
          "description": "Extensions for eye",
          "$ref": "#/definitions/Element"
        },
        "sphere": {
          "description": "Lens power measured in diopters (0.25 units).",
          "$ref": "#/definitions/decimal"
        },
        "_sphere": {
          "description": "Extensions for sphere",
          "$ref": "#/definitions/Element"
        },
        "cylinder": {
          "description": "Power adjustment for astigmatism measured in diopters (0.25 units).",
          "$ref": "#/definitions/decimal"
        },
        "_cylinder": {
          "description": "Extensions for cylinder",
          "$ref": "#/definitions/Element"
        },
        "axis": {
          "description": "Adjustment for astigmatism measured in integer degrees.",
          "$ref": "#/definitions/integer"
        },
        "_axis": {
          "description": "Extensions for axis",
          "$ref": "#/definitions/Element"
        },
        "prism": {
          "description": "Amount of prism to compensate for eye alignment in fractional units.",
          "$ref": "#/definitions/decimal"
        },
        "_prism": {
          "description": "Extensions for prism",
          "$ref": "#/definitions/Element"
        },
        "base": {
          "description": "The relative base, or reference lens edge, for the prism.",
          "enum": [
            "up",
            "down",
            "in",
            "out"
          ]
        },
        "_base": {
          "description": "Extensions for base",
          "$ref": "#/definitions/Element"
        },
        "add": {
          "description": "Power adjustment for multifocal lenses measured in diopters (0.25 units).",
          "$ref": "#/definitions/decimal"
        },
        "_add": {
          "description": "Extensions for add",
          "$ref": "#/definitions/Element"
        },
        "power": {
          "description": "Contact lens power measured in diopters (0.25 units).",
          "$ref": "#/definitions/decimal"
        },
        "_power": {
          "description": "Extensions for power",
          "$ref": "#/definitions/Element"
        },
        "backCurve": {
          "description": "Back curvature measured in millimeters.",
          "$ref": "#/definitions/decimal"
        },
        "_backCurve": {
          "description": "Extensions for backCurve",
          "$ref": "#/definitions/Element"
        },
        "diameter": {
          "description": "Contact lens diameter measured in millimeters.",
          "$ref": "#/definitions/decimal"
        },
        "_diameter": {
          "description": "Extensions for diameter",
          "$ref": "#/definitions/Element"
        },
        "duration": {
          "description": "The recommended maximum wear period for the lens.",
          "$ref": "#/definitions/Quantity"
        },
        "color": {
          "description": "Special color or pattern.",
          "$ref": "#/definitions/string"
        },
        "_color": {
          "description": "Extensions for color",
          "$ref": "#/definitions/Element"
        },
        "brand": {
          "description": "Brand recommendations or restrictions.",
          "$ref": "#/definitions/string"
        },
        "_brand": {
          "description": "Extensions for brand",
          "$ref": "#/definitions/Element"
        },
        "note": {
          "description": "Notes for special requirements such as coatings and lens materials.",
          "items": {
            "$ref": "#/definitions/Annotation"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    }
  }
}