openapi: 3.0.1
info:
  title: StructureDefinitionAPI
  description: "A simplified version of the HL7 FHIR API for StructureDefinition resource.\n\
    Supported Profiles: \nhttp://hl7.org/fhir/StructureDefinition/StructureDefinition\n"
  contact:
    name: API Support
    url: https://wso2.com/contact/
    email: info@wso2.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
tags:
- name: international
- name: StructureDefinition
- name: 4.0.1
paths:
  /:
    get:
      tags:
      - GET
      - StructureDefinition
      summary: search StructureDefinition
      description: This operation is used to search a StructureDefinition
      parameters:
      - name: publisher
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html):\
          \ Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html):\
          \ Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html):\
          \ Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html):\
          \ Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html):\
          \ Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ Name of the publisher of the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: string
      - name: status
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ The current status of the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html):\
          \ The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ The current status of the message definition\r\n* [NamingSystem](namingsystem.html):\
          \ The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html):\
          \ The current status of the operation definition\r\n* [SearchParameter](searchparameter.html):\
          \ The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ The current status of the structure definition\r\n* [StructureMap](structuremap.html):\
          \ The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ The current status of the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ The current status of the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: experimental
        in: query
        description: "For testing purposes, not real usage"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: base-path
        in: query
        description: Path that identifies the base element
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: description
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ The description of the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ The description of the compartment definition\r\n* [ConceptMap](conceptmap.html):\
          \ The description of the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ The description of the message definition\r\n* [NamingSystem](namingsystem.html):\
          \ The description of the naming system\r\n* [OperationDefinition](operationdefinition.html):\
          \ The description of the operation definition\r\n* [SearchParameter](searchparameter.html):\
          \ The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ The description of the structure definition\r\n* [StructureMap](structuremap.html):\
          \ The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ The description of the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ The description of the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: string
      - name: context-quantity
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ A quantity- or range-valued use context assigned to the capability statement\r\
          \n* [CodeSystem](codesystem.html): A quantity- or range-valued use context\
          \ assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ A quantity- or range-valued use context assigned to the compartment definition\r\
          \n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context\
          \ assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ A quantity- or range-valued use context assigned to the graph definition\r\
          \n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued\
          \ use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ A quantity- or range-valued use context assigned to the message definition\r\
          \n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context\
          \ assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html):\
          \ A quantity- or range-valued use context assigned to the operation definition\r\
          \n* [SearchParameter](searchparameter.html): A quantity- or range-valued\
          \ use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ A quantity- or range-valued use context assigned to the structure definition\r\
          \n* [StructureMap](structuremap.html): A quantity- or range-valued use context\
          \ assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ A quantity- or range-valued use context assigned to the terminology capabilities\r\
          \n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned\
          \ to the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: quantity
      - name: context-type-quantity
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ A use context type and quantity- or range-based value assigned to the\
          \ capability statement\r\n* [CodeSystem](codesystem.html): A use context\
          \ type and quantity- or range-based value assigned to the code system\r\n\
          * [CompartmentDefinition](compartmentdefinition.html): A use context type\
          \ and quantity- or range-based value assigned to the compartment definition\r\
          \n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based\
          \ value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ A use context type and quantity- or range-based value assigned to the\
          \ graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ A use context type and quantity- or range-based value assigned to the\
          \ implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ A use context type and quantity- or range-based value assigned to the\
          \ message definition\r\n* [NamingSystem](namingsystem.html): A use context\
          \ type and quantity- or range-based value assigned to the naming system\r\
          \n* [OperationDefinition](operationdefinition.html): A use context type\
          \ and quantity- or range-based value assigned to the operation definition\r\
          \n* [SearchParameter](searchparameter.html): A use context type and quantity-\
          \ or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ A use context type and quantity- or range-based value assigned to the\
          \ structure definition\r\n* [StructureMap](structuremap.html): A use context\
          \ type and quantity- or range-based value assigned to the structure map\r\
          \n* [TerminologyCapabilities](terminologycapabilities.html): A use context\
          \ type and quantity- or range-based value assigned to the terminology capabilities\r\
          \n* [ValueSet](valueset.html): A use context type and quantity- or range-based\
          \ value assigned to the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: composite
      - name: context-type-value
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ A use context type and value assigned to the capability statement\r\n\
          * [CodeSystem](codesystem.html): A use context type and value assigned to\
          \ the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ A use context type and value assigned to the compartment definition\r\n\
          * [ConceptMap](conceptmap.html): A use context type and value assigned to\
          \ the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context\
          \ type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ A use context type and value assigned to the implementation guide\r\n\
          * [MessageDefinition](messagedefinition.html): A use context type and value\
          \ assigned to the message definition\r\n* [NamingSystem](namingsystem.html):\
          \ A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html):\
          \ A use context type and value assigned to the operation definition\r\n\
          * [SearchParameter](searchparameter.html): A use context type and value\
          \ assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ A use context type and value assigned to the structure definition\r\n\
          * [StructureMap](structuremap.html): A use context type and value assigned\
          \ to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ A use context type and value assigned to the terminology capabilities\r\
          \n* [ValueSet](valueset.html): A use context type and value assigned to\
          \ the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: composite
      - name: context-type
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html):\
          \ A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html):\
          \ A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html):\
          \ A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html):\
          \ A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html):\
          \ A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ A type of use context assigned to the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: abstract
        in: query
        description: Whether the structure is abstract
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: derivation
        in: query
        description: specialization | constraint - How relates to base definition
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: kind
        in: query
        description: primitive-type | complex-type | resource | logical
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: path
        in: query
        description: A path that is constrained in the StructureDefinition
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: title
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html):\
          \ The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html):\
          \ The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html):\
          \ The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html):\
          \ The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html):\
          \ The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ The human-friendly name of the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: string
      - name: jurisdiction
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html):\
          \ Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html):\
          \ Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html):\
          \ Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html):\
          \ Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html):\
          \ Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ Intended jurisdiction for the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: name
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html):\
          \ Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html):\
          \ Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html):\
          \ Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html):\
          \ Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html):\
          \ Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ Computationally friendly name of the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: string
      - name: keyword
        in: query
        description: A code for the StructureDefinition
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: url
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html):\
          \ The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html):\
          \ The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html):\
          \ The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html):\
          \ The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ The uri that identifies the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: uri
      - name: valueset
        in: query
        description: A vocabulary binding reference
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: reference
      - name: version
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ The business version of the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html):\
          \ The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html):\
          \ The business version of the operation definition\r\n* [SearchParameter](searchparameter.html):\
          \ The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ The business version of the structure definition\r\n* [StructureMap](structuremap.html):\
          \ The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ The business version of the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ The business version of the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: identifier
        in: query
        description: "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html):\
          \ External identifier for the code system\r\n* [ConceptMap](conceptmap.html):\
          \ External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html):\
          \ External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html):\
          \ External identifier for the structure definition\r\n* [StructureMap](structuremap.html):\
          \ External identifier for the structure map\r\n* [ValueSet](valueset.html):\
          \ External identifier for the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: ext-context
        in: query
        description: "The system is the URL for the context-type: e.g. http://hl7.org/fhir/extension-context-type#element|CodeableConcept.text"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: base
        in: query
        description: Definition that this type is constrained/specialized from
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: reference
      - name: context
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html):\
          \ A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html):\
          \ A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html):\
          \ A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html):\
          \ A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html):\
          \ A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html):\
          \ A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html):\
          \ A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html):\
          \ A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html):\
          \ A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html):\
          \ A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html):\
          \ A use context assigned to the value set"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: token
      - name: type
        in: query
        description: Type defined or constrained by this structure
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: uri
      - name: date
        in: query
        description: "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html):\
          \ The capability statement publication date\r\n* [CodeSystem](codesystem.html):\
          \ The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html):\
          \ The compartment definition publication date\r\n* [ConceptMap](conceptmap.html):\
          \ The concept map publication date\r\n* [GraphDefinition](graphdefinition.html):\
          \ The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html):\
          \ The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html):\
          \ The message definition publication date\r\n* [NamingSystem](namingsystem.html):\
          \ The naming system publication date\r\n* [OperationDefinition](operationdefinition.html):\
          \ The operation definition publication date\r\n* [SearchParameter](searchparameter.html):\
          \ The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html):\
          \ The structure definition publication date\r\n* [StructureMap](structuremap.html):\
          \ The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html):\
          \ The terminology capabilities publication date\r\n* [ValueSet](valueset.html):\
          \ The value set publication date"
        required: false
        schema:
          type: string
        x-wso2-oh-fhirType: date
      - $ref: '#/components/parameters/_lastUpdatedParam'
      - $ref: '#/components/parameters/_securityParam'
      - $ref: '#/components/parameters/_tagParam'
      - $ref: '#/components/parameters/_idParam'
      - $ref: '#/components/parameters/_sourceParam'
      - $ref: '#/components/parameters/_profileParam'
      responses:
        "200":
          description: search StructureDefinition operation successful
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
      security:
      - default: []
    post:
      tags:
      - POST
      - StructureDefinition
      summary: create StructureDefinition
      description: This operation is used to create a StructureDefinition
      responses:
        "201":
          description: create StructureDefinition operation successful
      security:
      - default: []
  /{id}:
    get:
      tags:
      - GET
      - StructureDefinition
      summary: read StructureDefinition
      description: This operation is used to read a StructureDefinition
      parameters:
      - name: id
        in: path
        description: logical identifier
        required: true
        schema:
          type: string
      responses:
        "200":
          description: read StructureDefinition operation successful
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/StructureDefinition'
      security:
      - default: []
    put:
      tags:
      - PUT
      - StructureDefinition
      summary: update StructureDefinition
      description: This operation is used to update a StructureDefinition
      parameters:
      - name: id
        in: path
        description: logical identifier
        required: true
        schema:
          type: string
      responses:
        "201":
          description: update StructureDefinition operation successful
      security:
      - default: []
    delete:
      tags:
      - DELETE
      - StructureDefinition
      summary: delete StructureDefinition
      description: This operation is used to delete a StructureDefinition
      parameters:
      - name: id
        in: path
        description: logical identifier
        required: true
        schema:
          type: string
      responses:
        "204":
          description: delete StructureDefinition operation successful
      security:
      - default: []
components:
  schemas:
    Resource:
      required:
      - resourceType
      type: object
      properties:
        resourceType:
          type: string
          enum:
          - Account
          - ActivityDefinition
          - AdverseEvent
          - AllergyIntolerance
          - Appointment
          - AppointmentResponse
          - AuditEvent
          - Basic
          - Binary
          - BiologicallyDerivedProduct
          - BodyStructure
          - Bundle
          - CapabilityStatement
          - CarePlan
          - CareTeam
          - CatalogEntry
          - ChargeItem
          - ChargeItemDefinition
          - Claim
          - ClaimResponse
          - ClinicalImpression
          - CodeSystem
          - Communication
          - CommunicationRequest
          - CompartmentDefinition
          - Composition
          - ConceptMap
          - Condition
          - Consent
          - Contract
          - Coverage
          - CoverageEligibilityRequest
          - CoverageEligibilityResponse
          - DetectedIssue
          - Device
          - DeviceDefinition
          - DeviceMetric
          - DeviceRequest
          - DeviceUseStatement
          - DiagnosticReport
          - DocumentManifest
          - DocumentReference
          - DomainResource
          - EffectEvidenceSynthesis
          - Encounter
          - Endpoint
          - EnrollmentRequest
          - EnrollmentResponse
          - EpisodeOfCare
          - EventDefinition
          - Evidence
          - EvidenceVariable
          - ExampleScenario
          - ExplanationOfBenefit
          - FamilyMemberHistory
          - Flag
          - Goal
          - GraphDefinition
          - Group
          - GuidanceResponse
          - HealthcareService
          - ImagingStudy
          - Immunization
          - ImmunizationEvaluation
          - ImmunizationRecommendation
          - ImplementationGuide
          - InsurancePlan
          - Invoice
          - Library
          - Linkage
          - List
          - Location
          - Measure
          - MeasureReport
          - Media
          - Medication
          - MedicationAdministration
          - MedicationDispense
          - MedicationKnowledge
          - MedicationRequest
          - MedicationStatement
          - MedicinalProduct
          - MedicinalProductAuthorization
          - MedicinalProductContraindication
          - MedicinalProductIndication
          - MedicinalProductIngredient
          - MedicinalProductInteraction
          - MedicinalProductManufactured
          - MedicinalProductPackaged
          - MedicinalProductPharmaceutical
          - MedicinalProductUndesirableEffect
          - MessageDefinition
          - MessageHeader
          - MolecularSequence
          - NamingSystem
          - NutritionOrder
          - Observation
          - ObservationDefinition
          - OperationDefinition
          - OperationOutcome
          - Organization
          - OrganizationAffiliation
          - Parameters
          - Patient
          - PaymentNotice
          - PaymentReconciliation
          - Person
          - PlanDefinition
          - Practitioner
          - PractitionerRole
          - Procedure
          - Provenance
          - Questionnaire
          - QuestionnaireResponse
          - RelatedPerson
          - RequestGroup
          - ResearchDefinition
          - ResearchElementDefinition
          - ResearchStudy
          - ResearchSubject
          - Resource
          - RiskAssessment
          - RiskEvidenceSynthesis
          - Schedule
          - SearchParameter
          - ServiceRequest
          - Slot
          - Specimen
          - SpecimenDefinition
          - StructureDefinition
          - StructureMap
          - Subscription
          - Substance
          - SubstanceNucleicAcid
          - SubstancePolymer
          - SubstanceProtein
          - SubstanceReferenceInformation
          - SubstanceSourceMaterial
          - SubstanceSpecification
          - SupplyDelivery
          - SupplyRequest
          - Task
          - TerminologyCapabilities
          - TestReport
          - TestScript
          - ValueSet
          - VerificationResult
          - VisionPrescription
        id:
          pattern: "[A-Za-z0-9\\-\\.]{1,64}"
          type: string
          description: "The logical id of the resource, as used in the URL for the\
            \ resource. Once assigned, this value never changes."
        meta:
          $ref: '#/components/schemas/Meta'
        implicitRules:
          pattern: \S*
          type: string
          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. Often, this is a reference to an implementation guide that\
            \ defines the special rules along with other profiles etc."
        language:
          pattern: "[^\\s]+(\\s[^\\s]+)*"
          type: string
          description: The base language in which the resource is written.
    DomainResource:
      allOf:
      - $ref: '#/components/schemas/Resource'
      - type: object
        properties:
          text:
            $ref: '#/components/schemas/Narrative'
          contained:
            type: array
            items:
              $ref: '#/components/schemas/Resource'
          extension:
            type: array
            items:
              $ref: '#/components/schemas/Extension'
          modifierExtension:
            type: array
            items:
              $ref: '#/components/schemas/Extension'
    Bundle:
      required:
      - type
      example:
        resourceType: Bundle
        meta:
          versionId: exaha1GMZU
          lastUpdated: 2020-03-12T00:11:47.779-04:00
          source: OscBE5P0oL
          profile:
          - 2t1_PYz6sb
          security:
          - system: __ZQLAVVwf
            version: VLbtqKcbsY
            code: VUlDjytwgy
            display: qiSsBMDgPt
            userSelected: true
          tag:
          - system: zjCxD2PaBs
            version: rzU1dChGRU
            code: T_fA90_uZ3
            display: lX3NJdEblQ
            userSelected: true
          - code: test/complete-mock
        implicitRules: vor6NZfU_z
        language: L2CvMvoQCf
        identifier:
          use: temp
          type:
            coding:
            - system: 2KSvg9_FAi
              version: gGp8DOk9J1
              code: mfTsOuaMha
              display: oWF_kySdMa
              userSelected: true
            text: JCfLMefieh
          system: OD8o0wUurR
          value: rB39S_eWKm
          period:
            start: 2020-03-12T00:11:47.781-04:00
            end: 2020-03-12T00:11:47.781-04:00
        type: message
        timestamp: 2020-03-12T00:11:47.768-04:00
        total: 253899444
        link:
        - relation: 7ntmg3QgsB
          url: yqZC1h4OiP
        entry:
        - link:
          - relation: BYqAgl7fxn
            url: FjYy1I_fo0
          fullUrl: jRHNMRSGoH
          search:
            mode: outcome
            score: 215939698769
          request:
            method: HEAD
            url: fsGmEqxt_V
            ifNoneMatch: 9Ce9vVtTEJ
            ifModifiedSince: 2020-03-12T00:11:47.776-04:00
            ifMatch: PtLujM597v
            ifNoneExist: thVohqaRoO
          response:
            status: Vz647bKzDX
            location: vG6ZG5JY3n
            etag: UAy7mNeNeo
            lastModified: 2020-03-12T00:11:47.773-04:00
        signature:
          type:
          - system: UXJhVBJtsw
            version: dSN1eoXw7X
            code: 7n8GNkS7ty
            display: Ff82O7MvgK
            userSelected: true
          when: 2020-03-12T00:11:47.767-04:00
          who:
            reference: Practitioner/8Jt_8Rtofu
            type: Practitioner
            identifier:
              use: secondary
              type:
                coding:
                - system: aOvIofeYmD
                  version: mNBmEi5RDA
                  code: sM5gtqK3Xw
                  display: aOf6nJImxy
                  userSelected: true
                text: zaOFAoPxBA
              system: C70kG_5CcM
              value: TYMT3hKJFR
              period:
                start: 2020-03-12T00:11:47.765-04:00
                end: 2020-03-12T00:11:47.765-04:00
            display: 5vUkPEw2_I
          onBehalfOf:
            reference: Practitioner/PEch7CxGIg
            type: Practitioner
            identifier:
              use: usual
              type:
                coding:
                - system: ixnevWoHGy
                  version: hJQzXghlpb
                  code: h6NurXxnyH
                  display: C0fDviMSsU
                  userSelected: true
                text: izhrMjXk74
              system: giGNRU5rWU
              value: e7_ezY1vVp
              period:
                start: 2020-03-12T00:11:47.767-04:00
                end: 2020-03-12T00:11:47.767-04:00
            display: nWuUixICQd
          targetFormat: F93ISQKaDY
          sigFormat: Qx2S3AEiMQ
          data: AGxIVG4=
      allOf:
      - $ref: '#/components/schemas/Resource'
      - type: object
        properties:
          identifier:
            $ref: '#/components/schemas/Identifier'
          type:
            type: string
            description: Indicates the purpose of this bundle &ndash; how it is intended
              to be used.
            enum:
            - document
            - message
            - transaction
            - transaction-response
            - batch
            - batch-response
            - history
            - searchset
            - collection
          timestamp:
            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: The date/time that the bundle was assembled &ndash; i.e.
              when the resources were placed in the bundle.
          total:
            type: integer
            description: "If a set of search matches, this is the total number of\
              \ entries of type 'match' across all pages in the search.  It does not\
              \ include search.mode = 'include' or 'outcome' entries and it does not\
              \ provide a count of the number of entries in the Bundle."
            format: int32
          link:
            type: array
            items:
              $ref: '#/components/schemas/Bundle_Link'
          entry:
            type: array
            items:
              $ref: '#/components/schemas/Bundle_Entry'
          signature:
            $ref: '#/components/schemas/Signature'
    OperationOutcome:
      required:
      - issue
      example:
        resourceType: OperationOutcome
        meta:
          versionId: aj7xYfDKGG
          lastUpdated: 2020-03-12T00:11:56.482-04:00
          source: ZqswRdBz2V
          profile:
          - 7MtlUHdgF3
          security:
          - system: eBZLDvfQS6
            version: 3loXo6Bekk
            code: fApLgubn5v
            display: hGDoUOaTiY
            userSelected: true
          tag:
          - system: d6ZKFrRy9C
            version: co9wqQZDjO
            code: Z2JT_ZxmeR
            display: f5JMtds3fb
            userSelected: true
          - code: test/complete-mock
        implicitRules: FwNANOTUkD
        language: iDvESiu0cB
        text:
          status: extensions
          div: <div xmlns="http://www.w3.org/1999/xhtml"></div>
        issue:
        - severity: warning
          code: invariant
          details:
            coding:
            - system: 9TiBhtaNhv
              version: 38XIrYkjYf
              code: s4dzxZ4dsW
              display: tu3Q0RYWRq
              userSelected: true
            text: qW3nzpKNue
          diagnostics: 4zXKgm6Eae
          location:
          - EmMlBkbb8W
          expression:
          - bSBqh22fAT
      allOf:
      - $ref: '#/components/schemas/DomainResource'
      - type: object
        properties:
          issue:
            type: array
            items:
              $ref: '#/components/schemas/OperationOutcome_Issue'
    Bundle_Entry:
      allOf:
      - $ref: '#/components/schemas/BackboneElement'
      - type: object
        properties:
          link:
            type: array
            items:
              $ref: '#/components/schemas/Bundle_Link'
          fullUrl:
            pattern: \S*
            type: string
            description: "The Absolute URL for the resource.  The fullUrl SHALL NOT\
              \ disagree with the id in the resource &ndash; i.e. if the fullUrl is\
              \ not a urn:uuid, the URL shall be version&ndash;independent URL consistent\
              \ with the Resource.id. 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."
          resource:
            $ref: '#/components/schemas/Resource'
          search:
            $ref: '#/components/schemas/Bundle_Entry_Search'
          request:
            $ref: '#/components/schemas/Bundle_Entry_Request'
          response:
            $ref: '#/components/schemas/Bundle_Entry_Response'
    Bundle_Entry_Response:
      required:
      - status
      allOf:
      - $ref: '#/components/schemas/BackboneElement'
      - type: object
        properties:
          status:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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.
          location:
            pattern: \S*
            type: string
            description: "The location header created by processing this operation,\
              \ populated if the operation returns a location."
          etag:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "The Etag for the resource, if the operation for the entry\
              \ produced a versioned resource (see [Resource Metadata and Versioning](http.html#versioning)\
              \ and [Managing Resource Contention](http.html#concurrency))."
          lastModified:
            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: The date/time that the resource was modified on the server.
          outcome:
            $ref: '#/components/schemas/Resource'
    Bundle_Entry_Request:
      required:
      - method
      - url
      allOf:
      - $ref: '#/components/schemas/BackboneElement'
      - type: object
        properties:
          method:
            type: string
            description: "In a transaction or batch, this is the HTTP action to be\
              \ executed for this entry. In a history bundle, this indicates the HTTP\
              \ action that occurred."
            enum:
            - GET
            - HEAD
            - POST
            - PUT
            - DELETE
            - PATCH
          url:
            pattern: \S*
            type: string
            description: "The URL for this entry, relative to the root (the address\
              \ to which the request is posted)."
          ifNoneMatch:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "If the ETag values match, return a 304 Not Modified status.\
              \ See the API documentation for [\"Conditional Read\"](http.html#cread)."
          ifModifiedSince:
            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: "Only perform the operation if the last updated date matches.\
              \ See the API documentation for [\"Conditional Read\"](http.html#cread)."
          ifMatch:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "Only perform the operation if the Etag value matches. For\
              \ more information, see the API section [\"Managing Resource Contention\"\
              ](http.html#concurrency)."
          ifNoneExist:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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 &ndash; what follows the \"?\" (not including\
              \ the \"?\")."
    Bundle_Entry_Search:
      allOf:
      - $ref: '#/components/schemas/BackboneElement'
      - type: object
        properties:
          mode:
            type: string
            description: "Why this entry is in the result set &ndash; whether it's\
              \ included as a match or because of an _include requirement, or to convey\
              \ information or warning information about the search process."
            enum:
            - match
            - include
            - outcome
          score:
            type: number
            description: "When searching, the server's search ranking score for the\
              \ entry."
    Bundle_Link:
      required:
      - relation
      - url
      allOf:
      - $ref: '#/components/schemas/BackboneElement'
      - type: object
        properties:
          relation:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "A name which details the functional use for this link &ndash;\
              \ see [http://www.iana.org/assignments/link&ndash;relations/link&ndash;relations.xhtml#link&ndash;relations&ndash;1](http://www.iana.org/assignments/link&ndash;relations/link&ndash;relations.xhtml#link&ndash;relations&ndash;1)."
          url:
            pattern: \S*
            type: string
            description: The reference details for the link.
    OperationOutcome_Issue:
      required:
      - code
      - severity
      allOf:
      - $ref: '#/components/schemas/BackboneElement'
      - type: object
        properties:
          severity:
            type: string
            description: Indicates whether the issue indicates a variation from successful
              processing.
            enum:
            - fatal
            - error
            - warning
            - information
          code:
            type: string
            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
            - multiple-matches
            - not-found
            - deleted
            - too-long
            - code-invalid
            - extension
            - too-costly
            - business-rule
            - conflict
            - transient
            - lock-error
            - no-store
            - exception
            - timeout
            - incomplete
            - throttled
            - informational
          details:
            $ref: '#/components/schemas/CodeableConcept'
          diagnostics:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Additional diagnostic information about the issue.
          location:
            type: array
            items:
              pattern: "[ \\r\\n\\t\\S]+"
              type: string
              description: "This element is deprecated because it is XML specific.\
                \ It is replaced by issue.expression, which is format independent,\
                \ and simpler to parse. \n\nFor resource issues, this will be a simple\
                \ XPath limited to element names, repetition indicators and the default\
                \ child accessor 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."
          expression:
            type: array
            items:
              pattern: "[ \\r\\n\\t\\S]+"
              type: string
              description: "A [simple subset of FHIRPath](fhirpath.html#simple) limited\
                \ to element names, repetition indicators and the default child accessor\
                \ that identifies one of the elements in the resource that caused\
                \ this issue to be raised."
    Element:
      type: object
      properties:
        id:
          pattern: "[A-Za-z0-9\\-\\.]{1,64}"
          type: string
          description: Unique id for the element within a resource (for internal references).
            This may be any string value that does not contain spaces.
        extension:
          type: array
          items:
            $ref: '#/components/schemas/Extension'
    BackboneElement:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          modifierExtension:
            type: array
            items:
              $ref: '#/components/schemas/Extension'
    Address:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          use:
            type: string
            description: The purpose of this address.
            enum:
            - home
            - work
            - temp
            - old
            - billing
          type:
            type: string
            description: Distinguishes between physical addresses (those you can visit)
              and mailing addresses (e.g. PO Boxes and care&ndash;of addresses). Most
              addresses are both.
            enum:
            - postal
            - physical
            - both
          text:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Specifies the entire address as it should be displayed e.g.
              on a postal label. This may be provided instead of or as well as the
              specific parts.
          line:
            type: array
            items:
              pattern: "[ \\r\\n\\t\\S]+"
              type: string
              description: "This component contains the house number, apartment number,\
                \ street name, street direction,  P.O. Box number, delivery hints,\
                \ and similar address information."
          city:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "The name of the city, town, suburb, village or other community\
              \ or delivery center."
          district:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: The name of the administrative area (county).
          state:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Sub&ndash;unit of a country with limited sovereignty in a
              federally organized country. A code may be used if codes are in common
              use (e.g. US 2 letter state codes).
          postalCode:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: A postal code designating a region defined by the postal
              service.
          country:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Country &ndash; a nation as commonly understood or generally
              accepted.
          period:
            $ref: '#/components/schemas/Period'
    Age:
      allOf:
      - $ref: '#/components/schemas/Quantity'
      - type: object
        properties: {}
    Annotation:
      required:
      - text
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          authorReference:
            $ref: '#/components/schemas/Reference'
          authorString:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: The individual responsible for making the annotation.
          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
            description: Indicates when this particular annotation was made.
          text:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: The text of the annotation in markdown format.
    Attachment:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          contentType:
            pattern: "[^\\s]+(\\s[^\\s]+)*"
            type: string
            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.
          language:
            pattern: "[^\\s]+(\\s[^\\s]+)*"
            type: string
            description: The human language of the content. The value can be any valid
              value according to BCP 47.
          data:
            pattern: "(\\s*([0-9a-zA-Z\\+\\=]){4}\\s*)+"
            type: string
            description: "The actual data of the attachment &ndash; a sequence of\
              \ bytes, base64 encoded."
          url:
            pattern: \S*
            type: string
            description: A location where the data can be accessed.
          size:
            type: integer
            description: "The number of bytes of data that make up this attachment\
              \ (before base64 encoding, if that is done)."
            format: int32
          hash:
            pattern: "(\\s*([0-9a-zA-Z\\+\\=]){4}\\s*)+"
            type: string
            description: The calculated hash of the data using SHA&ndash;1. Represented
              using base64.
          title:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: A label or set of text to display in place of the data.
          creation:
            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: The date that the attachment was first created.
    CodeableConcept:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          coding:
            type: array
            items:
              $ref: '#/components/schemas/Coding'
          text:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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.
    Coding:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          system:
            pattern: \S*
            type: string
            description: The identification of the code system that defines the meaning
              of the symbol in the code.
          version:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "The version of the code system which was used when choosing\
              \ this code. Note that a well&ndash;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."
          code:
            pattern: "[^\\s]+(\\s[^\\s]+)*"
            type: string
            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&ndash;coordination).
          display:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "A representation of the meaning of the code in the system,\
              \ following the rules of the system."
          userSelected:
            type: boolean
            description: Indicates that this coding was chosen by a user directly
              &ndash; e.g. off a pick list of available items (codes or displays).
    ContactPoint:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          system:
            type: string
            description: Telecommunications form for contact point &ndash; what communications
              system is required to make use of the contact.
            enum:
            - phone
            - fax
            - email
            - pager
            - url
            - sms
            - other
          value:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "The actual contact point details, in a form that is meaningful\
              \ to the designated communication system (i.e. phone number or email\
              \ address)."
          use:
            type: string
            description: Identifies the purpose for the contact point.
            enum:
            - home
            - work
            - temp
            - old
            - mobile
          rank:
            type: integer
            description: Specifies a preferred order in which to use a set of contacts.
              ContactPoints with lower rank values are more preferred than those with
              higher rank values.
            format: int32
          period:
            $ref: '#/components/schemas/Period'
    Count:
      allOf:
      - $ref: '#/components/schemas/Quantity'
      - type: object
        properties: {}
    Distance:
      allOf:
      - $ref: '#/components/schemas/Quantity'
      - type: object
        properties: {}
    Duration:
      allOf:
      - $ref: '#/components/schemas/Quantity'
      - type: object
        properties: {}
    HumanName:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          use:
            type: string
            description: Identifies the purpose for this name.
            enum:
            - usual
            - official
            - temp
            - nickname
            - anonymous
            - old
            - maiden
          text:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Specifies the entire name as it should be displayed e.g.
              on an application UI. This may be provided instead of or as well as
              the specific parts.
          family:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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.
          given:
            type: array
            items:
              pattern: "[ \\r\\n\\t\\S]+"
              type: string
              description: Given name.
          prefix:
            type: array
            items:
              pattern: "[ \\r\\n\\t\\S]+"
              type: string
              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."
          suffix:
            type: array
            items:
              pattern: "[ \\r\\n\\t\\S]+"
              type: string
              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."
          period:
            $ref: '#/components/schemas/Period'
    Identifier:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          use:
            type: string
            description: The purpose of this identifier.
            enum:
            - usual
            - official
            - temp
            - secondary
            - old
          type:
            $ref: '#/components/schemas/CodeableConcept'
          system:
            pattern: \S*
            type: string
            description: "Establishes the namespace for the value &ndash; that is,\
              \ a URL that describes a set values that are unique."
          value:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: The portion of the identifier typically relevant to the user
              and which is unique within the context of the system.
          period:
            $ref: '#/components/schemas/Period'
          assigner:
            $ref: '#/components/schemas/Reference'
    Money:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          value:
            type: number
            description: Numerical value (with implicit precision).
          currency:
            pattern: "[^\\s]+(\\s[^\\s]+)*"
            type: string
            description: ISO 4217 Currency Code.
    MoneyQuantity:
      allOf:
      - $ref: '#/components/schemas/Quantity'
      - type: object
        properties: {}
    Period:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          start:
            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: The start of the period. The boundary is inclusive.
          end:
            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: "The end of the period. If the end of the period is missing,\
              \ it means no end was known or planned at the time the instance was\
              \ created. 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."
    Quantity:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          value:
            type: number
            description: The value of the measured amount. The value includes an implicit
              precision in the presentation of the value.
          comparator:
            type: string
            description: "How the value should be understood and represented &ndash;\
              \ whether the actual value is greater or less than the stated value\
              \ due to measurement issues; e.g. if the comparator is \"<\" , then\
              \ the real value is < stated value."
            enum:
            - <
            - <=
            - '>='
            - '>'
          unit:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: A human&ndash;readable form of the unit.
          system:
            pattern: \S*
            type: string
            description: The identification of the system that provides the coded
              form of the unit.
          code:
            pattern: "[^\\s]+(\\s[^\\s]+)*"
            type: string
            description: A computer processable form of the unit in some unit representation
              system.
    Range:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          low:
            $ref: '#/components/schemas/SimpleQuantity'
          high:
            $ref: '#/components/schemas/SimpleQuantity'
    Ratio:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          numerator:
            $ref: '#/components/schemas/Quantity'
          denominator:
            $ref: '#/components/schemas/Quantity'
    Reference:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          reference:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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 '#') refer to contained resources."
          type:
            pattern: \S*
            type: string
            description: "The expected type of the target of the reference. If both\
              \ Reference.type and Reference.reference are populated and Reference.reference\
              \ is a FHIR URL, both SHALL be consistent.\n\nThe type is the Canonical\
              \ URL of Resource Definition that is the type this reference refers\
              \ to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/\
              \ e.g. \"Patient\" is a reference to http://hl7.org/fhir/StructureDefinition/Patient.\
              \ Absolute URLs are only allowed for logical models (and can only be\
              \ used in references in logical models, not resources)."
          identifier:
            $ref: '#/components/schemas/Identifier'
          display:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Plain text narrative that identifies the resource in addition
              to the resource reference.
    SampledData:
      required:
      - dimensions
      - origin
      - period
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          origin:
            $ref: '#/components/schemas/SimpleQuantity'
          period:
            type: number
            description: "The length of time between sampling times, measured in milliseconds."
          factor:
            type: number
            description: A correction factor that is applied to the sampled data points
              before they are added to the origin.
          lowerLimit:
            type: number
            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).
          upperLimit:
            type: number
            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).
          dimensions:
            type: integer
            description: "The number of sample points at each time point. If this\
              \ value is greater than one, then the dimensions will be interlaced\
              \ &ndash; all the sample points for a point in time will be recorded\
              \ at once."
            format: int32
          data:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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."
    SimpleQuantity:
      allOf:
      - $ref: '#/components/schemas/Quantity'
      - type: object
        properties: {}
    Signature:
      required:
      - type
      - when
      - who
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          type:
            type: array
            items:
              $ref: '#/components/schemas/Coding'
          when:
            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: When the digital signature was signed.
          who:
            $ref: '#/components/schemas/Reference'
          onBehalfOf:
            $ref: '#/components/schemas/Reference'
          targetFormat:
            pattern: "[^\\s]+(\\s[^\\s]+)*"
            type: string
            description: A mime type that indicates the technical format of the target
              resources signed by the signature.
          sigFormat:
            pattern: "[^\\s]+(\\s[^\\s]+)*"
            type: string
            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."
          data:
            pattern: "(\\s*([0-9a-zA-Z\\+\\=]){4}\\s*)+"
            type: string
            description: The base64 encoding of the Signature content. When signature
              is not recorded electronically this element would be empty.
    Timing:
      allOf:
      - $ref: '#/components/schemas/BackboneElement'
      - type: object
        properties:
          event:
            type: array
            items:
              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: Identifies specific times when the event occurs.
          repeat:
            $ref: '#/components/schemas/Timing_Repeat'
          code:
            $ref: '#/components/schemas/CodeableConcept'
    Timing_Repeat:
      allOf:
      - $ref: '#/components/schemas/BackboneElement'
      - type: object
        properties:
          boundsDuration:
            $ref: '#/components/schemas/Duration'
          boundsRange:
            $ref: '#/components/schemas/Range'
          boundsPeriod:
            $ref: '#/components/schemas/Period'
          count:
            type: integer
            description: "A total count of the desired number of repetitions across\
              \ the duration of the entire timing specification. If countMax is present,\
              \ this element indicates the lower bound of the allowed range of count\
              \ values."
            format: int32
          countMax:
            type: integer
            description: "If present, indicates that the count is a range &ndash;\
              \ so to perform the action between [count] and [countMax] times."
            format: int32
          duration:
            type: number
            description: "How long this thing happens for when it happens. If durationMax\
              \ is present, this element indicates the lower bound of the allowed\
              \ range of the duration."
          durationMax:
            type: number
            description: "If present, indicates that the duration is a range &ndash;\
              \ so to perform the action between [duration] and [durationMax] time\
              \ length."
          durationUnit:
            type: string
            description: "The units of time for the duration, in UCUM units."
            enum:
            - s
            - min
            - h
            - d
            - wk
            - mo
            - a
          frequency:
            type: integer
            description: "The number of times to repeat the action within the specified\
              \ period. If frequencyMax is present, this element indicates the lower\
              \ bound of the allowed range of the frequency."
            format: int32
          frequencyMax:
            type: integer
            description: "If present, indicates that the frequency is a range &ndash;\
              \ so to repeat between [frequency] and [frequencyMax] times within the\
              \ period or period range."
            format: int32
          period:
            type: number
            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. If periodMax is present, this element\
              \ indicates the lower bound of the allowed range of the period length."
          periodMax:
            type: number
            description: "If present, indicates that the period is a range from [period]\
              \ to [periodMax], allowing expressing concepts such as \"do this once\
              \ every 3&ndash;5 days."
          periodUnit:
            type: string
            description: The units of time for the period in UCUM units.
            enum:
            - s
            - min
            - h
            - d
            - wk
            - mo
            - a
          dayOfWeek:
            type: array
            items:
              type: string
              description: "If one or more days of week is provided, then the action\
                \ happens only on the specified day(s)."
              enum:
              - mon
              - tue
              - wed
              - thu
              - fri
              - sat
              - sun
          timeOfDay:
            type: array
            items:
              pattern: "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?"
              type: string
              description: Specified time of day for action to take place.
          when:
            type: array
            items:
              type: string
              description: "An approximate time period during the day, potentially\
                \ linked to an event of daily living that indicates when the action\
                \ should occur."
              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
          offset:
            type: integer
            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."
            format: int32
    ContactDetail:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          name:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: The name of an individual to contact.
          telecom:
            type: array
            items:
              $ref: '#/components/schemas/ContactPoint'
    RelatedArtifact:
      required:
      - type
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          type:
            type: string
            description: The type of relationship to the related artifact.
            enum:
            - documentation
            - justification
            - citation
            - predecessor
            - successor
            - derived-from
            - depends-on
            - composed-of
          label:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "A short label that can be used to reference the citation\
              \ from elsewhere in the containing artifact, such as a footnote index."
          display:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "A brief description of the document or knowledge resource\
              \ being referenced, suitable for display to a consumer."
          citation:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: A bibliographic citation for the related artifact. This text
              SHOULD be formatted according to an accepted citation format.
          url:
            pattern: \S*
            type: string
            description: A url for the artifact that can be followed to access the
              actual content.
          document:
            $ref: '#/components/schemas/Attachment'
          resource:
            pattern: \S*
            type: string
            description: "The related resource, such as a library, value set, profile,\
              \ or other knowledge resource."
    UsageContext:
      required:
      - code
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          code:
            $ref: '#/components/schemas/Coding'
          valueCodeableConcept:
            $ref: '#/components/schemas/CodeableConcept'
          valueQuantity:
            $ref: '#/components/schemas/Quantity'
          valueRange:
            $ref: '#/components/schemas/Range'
          valueReference:
            $ref: '#/components/schemas/Reference'
    Meta:
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          versionId:
            pattern: "[A-Za-z0-9\\-\\.]{1,64}"
            type: string
            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."
          lastUpdated:
            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: When the resource last changed &ndash; e.g. when the version
              changed.
          source:
            pattern: \S*
            type: string
            description: "A uri that identifies the source system of the resource.\
              \ This provides a minimal amount of [Provenance](provenance.html#) 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."
          profile:
            type: array
            items:
              pattern: \S*
              type: string
              description: "A list of profiles (references to [StructureDefinition](structuredefinition.html#)\
                \ resources) that this resource claims to conform to. The URL is a\
                \ reference to [StructureDefinition.url](structuredefinition&ndash;definitions.html#StructureDefinition.url)."
          security:
            type: array
            items:
              $ref: '#/components/schemas/Coding'
          tag:
            type: array
            items:
              $ref: '#/components/schemas/Coding'
    Narrative:
      required:
      - div
      - status
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          status:
            type: string
            description: "The status of the narrative &ndash; whether it's 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
          div:
            type: string
            description: "The actual narrative content, a stripped down version of\
              \ XHTML."
    Extension:
      required:
      - url
      allOf:
      - $ref: '#/components/schemas/Element'
      - type: object
        properties:
          url:
            pattern: \S*
            type: string
            description: Source of the definition for the extension code &ndash; a
              logical name or a URL.
          valueBase64Binary:
            pattern: "(\\s*([0-9a-zA-Z\\+\\=]){4}\\s*)+"
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueBoolean:
            type: boolean
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueCanonical:
            pattern: \S*
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueCode:
            pattern: "[^\\s]+(\\s[^\\s]+)*"
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueDate:
            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: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueDateTime:
            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: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueDecimal:
            type: number
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueId:
            pattern: "[A-Za-z0-9\\-\\.]{1,64}"
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueInstant:
            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: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueInteger:
            type: integer
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
            format: int32
          valueMarkdown:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueOid:
            pattern: "urn:oid:[0-2](\\.(0|[1-9][0-9]*))+"
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valuePositiveInt:
            type: integer
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
            format: int32
          valueString:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueTime:
            pattern: "([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?"
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueUnsignedInt:
            type: integer
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
            format: int32
          valueUri:
            pattern: \S*
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueUrl:
            pattern: \S*
            type: string
            description: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueUuid:
            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: "Value of extension &ndash; must be one of a constrained\
              \ set of the data types (see [Extensibility](extensibility.html) for\
              \ a list)."
          valueAddress:
            $ref: '#/components/schemas/Address'
          valueAge:
            $ref: '#/components/schemas/Age'
          valueAnnotation:
            $ref: '#/components/schemas/Annotation'
          valueAttachment:
            $ref: '#/components/schemas/Attachment'
          valueCodeableConcept:
            $ref: '#/components/schemas/CodeableConcept'
          valueCoding:
            $ref: '#/components/schemas/Coding'
          valueContactPoint:
            $ref: '#/components/schemas/ContactPoint'
          valueCount:
            $ref: '#/components/schemas/Count'
          valueDistance:
            $ref: '#/components/schemas/Distance'
          valueDuration:
            $ref: '#/components/schemas/Duration'
          valueHumanName:
            $ref: '#/components/schemas/HumanName'
          valueIdentifier:
            $ref: '#/components/schemas/Identifier'
          valueMoney:
            $ref: '#/components/schemas/Money'
          valuePeriod:
            $ref: '#/components/schemas/Period'
          valueQuantity:
            $ref: '#/components/schemas/Quantity'
          valueRange:
            $ref: '#/components/schemas/Range'
          valueRatio:
            $ref: '#/components/schemas/Ratio'
          valueReference:
            $ref: '#/components/schemas/Reference'
          valueSampledData:
            $ref: '#/components/schemas/SampledData'
          valueSignature:
            $ref: '#/components/schemas/Signature'
          valueTiming:
            $ref: '#/components/schemas/Timing'
          valueContactDetail:
            $ref: '#/components/schemas/ContactDetail'
          valueRelatedArtifact:
            $ref: '#/components/schemas/RelatedArtifact'
          valueUsageContext:
            $ref: '#/components/schemas/UsageContext'
          valueMeta:
            $ref: '#/components/schemas/Meta'
    StructureDefinition:
      required:
      - abstract
      - element
      - expression
      - identity
      - kind
      - name
      - status
      - type
      - url
      allOf:
      - $ref: '#/components/schemas/DomainResource'
      - type: object
        properties:
          date:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "The date  (and optionally time) when the structure definition\
              \ was published. The date must change 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."
          extension:
            $ref: '#/components/schemas/Extension'
          copyright:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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.
          purpose:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Explanation of why this structure definition is needed and
              why it has been designed as it has.
          modifierExtension:
            $ref: '#/components/schemas/Extension'
          jurisdiction:
            $ref: '#/components/schemas/CodeableConcept'
          description:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: A free text natural language description of the structure
              definition from a consumer's perspective.
          language:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: The base language in which the resource is written.
          experimental:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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.
          title:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "A short, descriptive, user-friendly title for the structure\
              \ definition."
          type:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "The type this structure describes. If the derivation kind\
              \ is 'specialization' 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).  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."
          differential:
            $ref: '#/components/schemas/BackboneElement'
          identity:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: An Internal id that is used to identify this mapping set
              when specific mappings are made.
          contact:
            $ref: '#/components/schemas/ContactDetail'
          fhirVersion:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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\
              \ 4.0.1. for this version."
          context:
            $ref: '#/components/schemas/BackboneElement'
          id:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Unique id for the element within a resource (for internal
              references). This may be any string value that does not contain spaces.
          text:
            $ref: '#/components/schemas/Narrative'
          keyword:
            $ref: '#/components/schemas/Coding'
          element:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Captures constraints on each element within the resource.
          identifier:
            $ref: '#/components/schemas/Identifier'
          mapping:
            $ref: '#/components/schemas/BackboneElement'
          expression:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: An expression that defines where an extension can be used
              in resources.
          kind:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: Defines the kind of structure that this definition is describing.
          abstract:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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."
          baseDefinition:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "An absolute URI that is the base structure from which this\
              \ type is derived, either by specialization or constraint."
          version:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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."
          uri:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: An absolute URI that identifies the specification that this
              mapping is expressed to.
          url:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "An absolute URI that is used to identify this structure\
              \ definition when it is referenced in a specification, model, design\
              \ or an instance; also called its canonical identifier. This SHOULD\
              \ be globally unique and SHOULD be a literal address at which at which\
              \ an authoritative instance of this structure definition is (or will\
              \ be) published. This URL can be the target of a canonical reference.\
              \ It SHALL remain the same when the structure definition is stored on\
              \ different servers."
          contained:
            $ref: '#/components/schemas/Resource'
          meta:
            $ref: '#/components/schemas/Meta'
          name:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: A name for the specification that is being mapped to.
          implicitRules:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            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. Often, this is a reference to an implementation guide\
              \ that defines the special rules along with other profiles etc."
          publisher:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: The name of the organization or individual that published
              the structure definition.
          comment:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: "Comments about this mapping, including version notes, issues,\
              \ scope limitations, and other important notes for usage."
          derivation:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: How the type relates to the baseDefinition.
          contextInvariant:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: A set of rules as FHIRPath Invariants about when the extension
              can be used (e.g. co-occurrence variants for the extension). All the
              rules must be true.
          useContext:
            $ref: '#/components/schemas/UsageContext'
          snapshot:
            $ref: '#/components/schemas/BackboneElement'
          status:
            pattern: "[ \\r\\n\\t\\S]+"
            type: string
            description: The status of this structure definition. Enables tracking
              the life-cycle of the content.
  parameters:
    _lastUpdatedParam:
      name: _lastUpdated
      in: query
      description: When the resource version last changed
      required: false
      style: form
      explode: true
      schema:
        type: string
    _securityParam:
      name: _security
      in: query
      description: Security Labels applied to this resource
      required: false
      style: form
      explode: true
      schema:
        type: string
    _tagParam:
      name: _tag
      in: query
      description: Tags applied to this resource
      required: false
      style: form
      explode: true
      schema:
        type: string
    _idParam:
      name: _id
      in: query
      description: Logical id of this artifact
      required: false
      style: form
      explode: true
      schema:
        type: string
    _sourceParam:
      name: _source
      in: query
      description: Identifies where the resource comes from
      required: false
      style: form
      explode: true
      schema:
        type: string
    _profileParam:
      name: _profile
      in: query
      description: Profiles this resource claims to conform to
      required: false
      style: form
      explode: true
      schema:
        type: string
  securitySchemes:
    default:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://localhost:8243/authorize
          scopes: {}
x-wso2-oh-fhir-resourceType: StructureDefinition
x-wso2-oh-fhir-profile:
- http://hl7.org/fhir/StructureDefinition/StructureDefinition
