Medplum FHIR REST API

FHIR R4 REST API exposed at https://api.medplum.com/fhir/R4. Supports the full generic FHIR resource surface — create, read, update, patch, delete, search, history, and version-read — across every FHIR R4 resource type, with US Core, SMART App Launch, and Bulk Data 2.0 conformance.

Medplum FHIR REST API is one of 4 APIs that Medplum publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko and 9 JSON Schema definitions.

Tagged areas include FHIR, REST, Healthcare, and Clinical. The published artifact set on APIs.io includes API documentation, an API reference, an OpenAPI specification, authentication docs, rate-limit docs, sample payloads, 1 Naftiko capability spec, and 9 JSON Schemas.

Documentation

Specifications

Examples

Schemas & Data

Other Resources

OpenAPI Specification

medplum-openapi-original.yml Raw ↑
openapi: 3.1.0
info:
  title: Medplum - OpenAPI 3.0
  description: Medplum OpenAPI 3.0 specification.  Learn more about Medplum at [https://www.medplum.com](https://www.medplum.com).
  termsOfService: https://www.medplum.com/terms
  contact:
    email: [email protected]
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.5
externalDocs:
  description: Learn more about Medplum
  url: https://www.medplum.com/
servers:
- url: https://api.medplum.com/
security:
- BasicAuth: []
  BearerAuth: []
  OpenID: []
tags: []
paths:
  /fhir/R4/{resourceType}:
    get:
      summary: Search
      description: Search
      operationId: search
      parameters:
      - name: resourceType
        in: path
        description: Resource Type
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
    post:
      summary: Create Resource
      description: Create Resource
      operationId: createResource
      parameters:
      - name: resourceType
        in: path
        description: Resource Type
        required: true
        schema:
          type: string
      requestBody:
        description: Create Resource
        content:
          application/fhir+json:
            schema:
              $ref: '#/components/schemas/ResourceList'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/ResourceList'
  /fhir/R4/{resourceType}/{id}:
    get:
      summary: Read Resource
      description: Read Resource
      operationId: readResource
      parameters:
      - name: resourceType
        in: path
        description: Resource Type
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Resource ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/ResourceList'
    put:
      summary: Update Resource
      description: Update Resource
      operationId: updateResource
      parameters:
      - name: resourceType
        in: path
        description: Resource Type
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Resource ID
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Update Resource
        content:
          application/fhir+json:
            schema:
              $ref: '#/components/schemas/ResourceList'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/ResourceList'
    delete:
      summary: Delete Resource
      description: Delete Resource
      operationId: deleteResource
      parameters:
      - name: resourceType
        in: path
        description: Resource Type
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Resource ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Success
    patch:
      summary: Patch Resource
      description: Patch Resource
      operationId: patchResource
      parameters:
      - name: resourceType
        in: path
        description: Resource Type
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Resource ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Success
  /fhir/R4/{resourceType}/{id}/_history:
    get:
      summary: Read Resource History
      description: Read Resource History
      operationId: readResourceHistory
      parameters:
      - name: resourceType
        in: path
        description: Resource Type
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Resource ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /fhir/R4/{resourceType}/{id}/_history/{versionId}:
    get:
      summary: Read Version
      description: Read Version
      operationId: readVersion
      parameters:
      - name: resourceType
        in: path
        description: Resource Type
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Resource ID
        required: true
        schema:
          type: string
          format: uuid
      - name: versionId
        in: path
        description: Version ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/ResourceList'
components:
  schemas:
    ResourceList:
      oneOf:
      - $ref: '#/components/schemas/Account'
      - $ref: '#/components/schemas/ActivityDefinition'
      - $ref: '#/components/schemas/AdverseEvent'
      - $ref: '#/components/schemas/AllergyIntolerance'
      - $ref: '#/components/schemas/Appointment'
      - $ref: '#/components/schemas/AppointmentResponse'
      - $ref: '#/components/schemas/AuditEvent'
      - $ref: '#/components/schemas/Basic'
      - $ref: '#/components/schemas/Binary'
      - $ref: '#/components/schemas/BiologicallyDerivedProduct'
      - $ref: '#/components/schemas/BodyStructure'
      - $ref: '#/components/schemas/Bundle'
      - $ref: '#/components/schemas/CapabilityStatement'
      - $ref: '#/components/schemas/CarePlan'
      - $ref: '#/components/schemas/CareTeam'
      - $ref: '#/components/schemas/CatalogEntry'
      - $ref: '#/components/schemas/ChargeItem'
      - $ref: '#/components/schemas/ChargeItemDefinition'
      - $ref: '#/components/schemas/Claim'
      - $ref: '#/components/schemas/ClaimResponse'
      - $ref: '#/components/schemas/ClinicalImpression'
      - $ref: '#/components/schemas/CodeSystem'
      - $ref: '#/components/schemas/Communication'
      - $ref: '#/components/schemas/CommunicationRequest'
      - $ref: '#/components/schemas/CompartmentDefinition'
      - $ref: '#/components/schemas/Composition'
      - $ref: '#/components/schemas/ConceptMap'
      - $ref: '#/components/schemas/Condition'
      - $ref: '#/components/schemas/Consent'
      - $ref: '#/components/schemas/Contract'
      - $ref: '#/components/schemas/Coverage'
      - $ref: '#/components/schemas/CoverageEligibilityRequest'
      - $ref: '#/components/schemas/CoverageEligibilityResponse'
      - $ref: '#/components/schemas/DetectedIssue'
      - $ref: '#/components/schemas/Device'
      - $ref: '#/components/schemas/DeviceDefinition'
      - $ref: '#/components/schemas/DeviceMetric'
      - $ref: '#/components/schemas/DeviceRequest'
      - $ref: '#/components/schemas/DeviceUseStatement'
      - $ref: '#/components/schemas/DiagnosticReport'
      - $ref: '#/components/schemas/DocumentManifest'
      - $ref: '#/components/schemas/DocumentReference'
      - $ref: '#/components/schemas/EffectEvidenceSynthesis'
      - $ref: '#/components/schemas/Encounter'
      - $ref: '#/components/schemas/Endpoint'
      - $ref: '#/components/schemas/EnrollmentRequest'
      - $ref: '#/components/schemas/EnrollmentResponse'
      - $ref: '#/components/schemas/EpisodeOfCare'
      - $ref: '#/components/schemas/EventDefinition'
      - $ref: '#/components/schemas/Evidence'
      - $ref: '#/components/schemas/EvidenceVariable'
      - $ref: '#/components/schemas/ExampleScenario'
      - $ref: '#/components/schemas/ExplanationOfBenefit'
      - $ref: '#/components/schemas/FamilyMemberHistory'
      - $ref: '#/components/schemas/Flag'
      - $ref: '#/components/schemas/Goal'
      - $ref: '#/components/schemas/GraphDefinition'
      - $ref: '#/components/schemas/Group'
      - $ref: '#/components/schemas/GuidanceResponse'
      - $ref: '#/components/schemas/HealthcareService'
      - $ref: '#/components/schemas/ImagingStudy'
      - $ref: '#/components/schemas/Immunization'
      - $ref: '#/components/schemas/ImmunizationEvaluation'
      - $ref: '#/components/schemas/ImmunizationRecommendation'
      - $ref: '#/components/schemas/ImplementationGuide'
      - $ref: '#/components/schemas/InsurancePlan'
      - $ref: '#/components/schemas/Invoice'
      - $ref: '#/components/schemas/Library'
      - $ref: '#/components/schemas/Linkage'
      - $ref: '#/components/schemas/List'
      - $ref: '#/components/schemas/Location'
      - $ref: '#/components/schemas/Measure'
      - $ref: '#/components/schemas/MeasureReport'
      - $ref: '#/components/schemas/Media'
      - $ref: '#/components/schemas/Medication'
      - $ref: '#/components/schemas/MedicationAdministration'
      - $ref: '#/components/schemas/MedicationDispense'
      - $ref: '#/components/schemas/MedicationKnowledge'
      - $ref: '#/components/schemas/MedicationRequest'
      - $ref: '#/components/schemas/MedicationStatement'
      - $ref: '#/components/schemas/MedicinalProduct'
      - $ref: '#/components/schemas/MedicinalProductAuthorization'
      - $ref: '#/components/schemas/MedicinalProductContraindication'
      - $ref: '#/components/schemas/MedicinalProductIndication'
      - $ref: '#/components/schemas/MedicinalProductIngredient'
      - $ref: '#/components/schemas/MedicinalProductInteraction'
      - $ref: '#/components/schemas/MedicinalProductManufactured'
      - $ref: '#/components/schemas/MedicinalProductPackaged'
      - $ref: '#/components/schemas/MedicinalProductPharmaceutical'
      - $ref: '#/components/schemas/MedicinalProductUndesirableEffect'
      - $ref: '#/components/schemas/MessageDefinition'
      - $ref: '#/components/schemas/MessageHeader'
      - $ref: '#/components/schemas/MolecularSequence'
      - $ref: '#/components/schemas/NamingSystem'
      - $ref: '#/components/schemas/NutritionOrder'
      - $ref: '#/components/schemas/Observation'
      - $ref: '#/components/schemas/ObservationDefinition'
      - $ref: '#/components/schemas/OperationDefinition'
      - $ref: '#/components/schemas/OperationOutcome'
      - $ref: '#/components/schemas/Organization'
      - $ref: '#/components/schemas/OrganizationAffiliation'
      - $ref: '#/components/schemas/Parameters'
      - $ref: '#/components/schemas/Patient'
      - $ref: '#/components/schemas/PaymentNotice'
      - $ref: '#/components/schemas/PaymentReconciliation'
      - $ref: '#/components/schemas/Person'
      - $ref: '#/components/schemas/PlanDefinition'
      - $ref: '#/components/schemas/Practitioner'
      - $ref: '#/components/schemas/PractitionerRole'
      - $ref: '#/components/schemas/Procedure'
      - $ref: '#/components/schemas/Provenance'
      - $ref: '#/components/schemas/Questionnaire'
      - $ref: '#/components/schemas/QuestionnaireResponse'
      - $ref: '#/components/schemas/RelatedPerson'
      - $ref: '#/components/schemas/RequestGroup'
      - $ref: '#/components/schemas/ResearchDefinition'
      - $ref: '#/components/schemas/ResearchElementDefinition'
      - $ref: '#/components/schemas/ResearchStudy'
      - $ref: '#/components/schemas/ResearchSubject'
      - $ref: '#/components/schemas/RiskAssessment'
      - $ref: '#/components/schemas/RiskEvidenceSynthesis'
      - $ref: '#/components/schemas/Schedule'
      - $ref: '#/components/schemas/SearchParameter'
      - $ref: '#/components/schemas/ServiceRequest'
      - $ref: '#/components/schemas/Slot'
      - $ref: '#/components/schemas/Specimen'
      - $ref: '#/components/schemas/SpecimenDefinition'
      - $ref: '#/components/schemas/StructureDefinition'
      - $ref: '#/components/schemas/StructureMap'
      - $ref: '#/components/schemas/Subscription'
      - $ref: '#/components/schemas/Substance'
      - $ref: '#/components/schemas/SubstanceNucleicAcid'
      - $ref: '#/components/schemas/SubstancePolymer'
      - $ref: '#/components/schemas/SubstanceProtein'
      - $ref: '#/components/schemas/SubstanceReferenceInformation'
      - $ref: '#/components/schemas/SubstanceSourceMaterial'
      - $ref: '#/components/schemas/SubstanceSpecification'
      - $ref: '#/components/schemas/SupplyDelivery'
      - $ref: '#/components/schemas/SupplyRequest'
      - $ref: '#/components/schemas/Task'
      - $ref: '#/components/schemas/TerminologyCapabilities'
      - $ref: '#/components/schemas/TestReport'
      - $ref: '#/components/schemas/TestScript'
      - $ref: '#/components/schemas/ValueSet'
      - $ref: '#/components/schemas/VerificationResult'
      - $ref: '#/components/schemas/VisionPrescription'
      - $ref: '#/components/schemas/Project'
      - $ref: '#/components/schemas/ClientApplication'
      - $ref: '#/components/schemas/User'
      - $ref: '#/components/schemas/Login'
      - $ref: '#/components/schemas/JsonWebKey'
      - $ref: '#/components/schemas/Bot'
      - $ref: '#/components/schemas/AccessPolicy'
      - $ref: '#/components/schemas/UserConfiguration'
      - $ref: '#/components/schemas/ProjectMembership'
      - $ref: '#/components/schemas/BulkDataExport'
      - $ref: '#/components/schemas/SmartAppLaunch'
      - $ref: '#/components/schemas/DomainConfiguration'
      - $ref: '#/components/schemas/AsyncJob'
      - $ref: '#/components/schemas/Agent'
      - $ref: '#/components/schemas/IdentityProvider'
      - $ref: '#/components/schemas/UserSecurityRequest'
      - $ref: '#/components/schemas/ViewDefinition'
      - $ref: '#/components/schemas/ProjectSetting'
      - $ref: '#/components/schemas/ProjectSite'
      - $ref: '#/components/schemas/ProjectLink'
      - $ref: '#/components/schemas/ProjectDefaultProfile'
      - $ref: '#/components/schemas/ProjectMembershipAccessParameter'
      - $ref: '#/components/schemas/ProjectMembershipAccess'
      - $ref: '#/components/schemas/AccessPolicyResource'
      - $ref: '#/components/schemas/AccessPolicyIpAccessRule'
      - $ref: '#/components/schemas/UserConfigurationMenuLink'
      - $ref: '#/components/schemas/UserConfigurationMenu'
      - $ref: '#/components/schemas/UserConfigurationSearch'
      - $ref: '#/components/schemas/UserConfigurationOption'
      - $ref: '#/components/schemas/BulkDataExportOutput'
      - $ref: '#/components/schemas/BulkDataExportDeleted'
      - $ref: '#/components/schemas/BulkDataExportError'
      - $ref: '#/components/schemas/AgentSetting'
      - $ref: '#/components/schemas/AgentChannel'
      - $ref: '#/components/schemas/ViewDefinitionConstant'
      - $ref: '#/components/schemas/ViewDefinitionSelectColumnTag'
      - $ref: '#/components/schemas/ViewDefinitionSelectColumn'
      - $ref: '#/components/schemas/ViewDefinitionSelect'
      - $ref: '#/components/schemas/ViewDefinitionWhere'
      - $ref: '#/components/schemas/ClientApplicationSignInForm'
      - $ref: '#/components/schemas/ClientApplicationLaunchIdentifierSystems'
      - $ref: '#/components/schemas/BotCdsServicePrefetch'
      - $ref: '#/components/schemas/BotCdsService'
      - $ref: '#/components/schemas/Package'
      - $ref: '#/components/schemas/PackageRelease'
      - $ref: '#/components/schemas/PackageInstallation'
    base64Binary:
      type: string
      description: A stream of bytes
    boolean:
      pattern: ^true|false$
      type: boolean
      description: Value of "true" or "false"
    canonical:
      pattern: ^\S*$
      type: string
      description: A URI that is a reference to a canonical URL on a FHIR resource
    code:
      pattern: ^[^\s]+(\s[^\s]+)*$
      type: string
      description: A string which has at least one character and no leading or trailing whitespace and where there is no whitespace
        other than single spaces in the contents
    date:
      pattern: ^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?$
      type: string
      description: A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of
        the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.
    dateTime:
      pattern: ^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?$
      type: string
      description: A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified,
        a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds
        must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL
        be valid dates.
    decimal:
      pattern: ^-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?$
      type: number
      description: A rational number with implicit precision
    id:
      pattern: ^[A-Za-z0-9\-\.]{1,64}$
      type: string
      description: Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters.  (This might be
        an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive.
    instant:
      pattern: ^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))$
      type: string
      description: An instant in time - known at least to the second
    integer:
      pattern: ^-?([0]|([1-9][0-9]*))$
      type: number
      description: A whole number
    markdown:
      pattern: ^[ \r\n\t\S]+$
      type: string
      description: A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation
        engine
    oid:
      pattern: ^urn:oid:[0-2](\.(0|[1-9][0-9]*))+$
      type: string
      description: An OID represented as a URI
    positiveInt:
      pattern: ^[1-9][0-9]*$
      type: number
      description: An integer with a value that is positive (e.g. >0)
    string:
      pattern: ^[ \r\n\t\S]+$
      type: string
      description: A sequence of Unicode characters
    time:
      pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?$
      type: string
      description: A time during the day, with no date specified
    unsignedInt:
      pattern: ^[0]|([1-9][0-9]*)$
      type: number
      description: An integer with a value that is not negative (e.g. >= 0)
    uri:
      pattern: ^\S*$
      type: string
      description: String of characters used to identify a name or a resource
    url:
      pattern: ^\S*$
      type: string
      description: A URI that is a literal reference
    uuid:
      pattern: ^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
      type: string
      description: A UUID, represented as a URI
    xhtml:
      description: xhtml - escaped html (see specfication)
    Element:
      description: Base definition for all elements in a resource.
      properties:
        id:
          description: Unique id for the element within a resource (for internal references). This may be any string value
            that does not contain spaces.
          $ref: '#/components/schemas/string'
        extension:
          description: May be used to represent additional information that is not part of the basic definition of the element.
            To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition
            and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL
            be met as part of the definition of the extension.
          items:
            $ref: '#/components/schemas/Extension'
          type: array
      additionalProperties: false
    Extension:
      description: Optional Extension Element - found in all resources.
      properties:
        id:
          description: Unique id for the element within a resource (for internal references). This may be any string value
            that does not contain spaces.
          $ref: '#/components/schemas/string'
        extension:
          description: May be used to represent additional information that is not part of the basic definition of the element.
            To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition
            and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL
            be met as part of the definition of the extension.
          items:
            $ref: '#/components/schemas/Extension'
          type: array
        url:
          description: Source of the definition for the extension code - a logical name or a URL.
          $ref: '#/components/schemas/uri'
        valueBase64Binary:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^(\s*([0-9a-zA-Z\+/=]){4}\s*)+$
          type: string
        valueBoolean:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^true|false$
          type: boolean
        valueCanonical:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^\S*$
          type: string
        valueCode:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^[^\s]+(\s[^\s]+)*$
          type: string
        valueDate:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?$
          type: string
        valueDateTime:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?$
          type: string
        valueDecimal:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?$
          type: number
        valueId:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^[A-Za-z0-9\-\.]{1,64}$
          type: string
        valueInstant:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))$
          type: string
        valueInteger:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^-?([0]|([1-9][0-9]*))$
          type: number
        valueMarkdown:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^[ \r\n\t\S]+$
          type: string
        valueOid:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^urn:oid:[0-2](\.(0|[1-9][0-9]*))+$
          type: string
        valuePositiveInt:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^[1-9][0-9]*$
          type: number
        valueString:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^[ \r\n\t\S]+$
          type: string
        valueTime:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?$
          type: string
        valueUnsignedInt:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^[0]|([1-9][0-9]*)$
          type: number
        valueUri:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^\S*$
          type: string
        valueUrl:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          pattern: ^\S*$
          type: string
        valueUuid:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          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
        valueAddress:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Address'
        valueAge:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Age'
        valueAnnotation:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Annotation'
        valueAttachment:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Attachment'
        valueCodeableConcept:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/CodeableConcept'
        valueCoding:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Coding'
        valueContactPoint:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/ContactPoint'
        valueCount:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Count'
        valueDistance:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Distance'
        valueDuration:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Duration'
        valueHumanName:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/HumanName'
        valueIdentifier:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Identifier'
        valueMoney:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Money'
        valuePeriod:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Period'
        valueQuantity:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Quantity'
        valueRange:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Range'
        valueRatio:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Ratio'
        valueReference:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Reference'
        valueSampledData:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/SampledData'
        valueSignature:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Signature'
        valueTiming:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Timing'
        valueContactDetail:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/ContactDetail'
        valueContributor:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Contributor'
        valueDataRequirement:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/DataRequirement'
        valueExpression:
          description: Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html)
            for a list).
          $ref: '#/components/schemas/Expression'
        valueParameterDefinition:
          descriptio

# --- truncated at 32 KB (3053 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/medplum/refs/heads/main/openapi/medplum-openapi-original.yml