ModMed Capability Statement API

Capability Statement

OpenAPI Specification

modernizing-medicine-capability-statement-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Modernizing Medicine Capability Statement API
  version: '1.0'
  description: 'Operations tagged Capability Statement across 2 of this provider''s published API definitions: modernizing-medicine-certified-fhir-api-openapi.json, modernizing-medicine-ema-proprietary-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4
  description: EMA Certified FHIR API
  variables:
    firm:
      default: fhirmp
      description: Your firm subdomain (e.g. fhirmp, auraderm). Find yours at https://mm-fhir-endpoint-display.prod.fhir.ema-api.com/
- url: https://stage.ema-api.com/ema-dev/firm/apiportal/ema
tags:
- name: Capability Statement
  description: Capability Statement
paths:
  /metadata:
    servers:
    - url: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4
      description: EMA Certified FHIR API
      variables:
        firm:
          default: fhirmp
          description: Your firm subdomain (e.g. fhirmp, auraderm). Find yours at https://mm-fhir-endpoint-display.prod.fhir.ema-api.com/
    get:
      tags:
      - Capability Statement
      summary: 'server-capabilities: Fetch the server FHIR CapabilityStatement'
      responses:
        '200':
          description: Success
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/FHIR-JSON-RESOURCE'
              example: "{\n  \"resourceType\": \"CapabilityStatement\"\n}"
            application/fhir+xml:
              schema:
                $ref: '#/components/schemas/FHIR-XML-RESOURCE'
              example: <CapabilityStatement xmlns="http://hl7.org/fhir"/>
      security: []
  /fhir/v2/metadata:
    servers:
    - url: https://stage.ema-api.com/ema-dev/firm/apiportal/ema
    get:
      tags:
      - Capability Statement
      summary: 'server-capabilities: Fetch the server FHIR CapabilityStatement'
      responses:
        '200':
          description: Success
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/FHIR-JSON-RESOURCE'
              example: "{\n  \"resourceType\": \"CapabilityStatement\"\n}"
            application/fhir+xml:
              schema:
                $ref: '#/components/schemas/FHIR-XML-RESOURCE'
              example: <CapabilityStatement xmlns="http://hl7.org/fhir"/>
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
      - BearerAuth: []
        ApiKeyAuth: []
components:
  responses:
    Unauthorized:
      description: NOT AUTHORIZED - Authentication error; this token is not allowed access to the API
    TooManyRequests:
      description: TOO MANY REQUESTS - Request was rate limited (1000 calls/min default); please retry
    ServerError:
      description: SERVER ERROR - Internal Server Error
    BadRequest:
      description: BAD REQUEST - The request was bad, often due to a missing required parameter
    NotFound:
      description: NOT FOUND
    UnprocessableEntity:
      description: UNPROCESSABLE ENTITY - Request could not be processed; typically a validation error
    Forbidden:
      description: FORBIDDEN
  schemas:
    FHIR-XML-RESOURCE:
      type: object
      description: A FHIR resource
    FHIR-JSON-RESOURCE:
      type: object
      description: A FHIR resource
  securitySchemes:
    smartOnFhir:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4/auth/realms/fhir/protocol/openid-connect/auth
          tokenUrl: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4/auth/realms/fhir/protocol/openid-connect/token
          scopes:
            openid: OpenID Connect (auto-granted)
            fhirUser: FHIR reference to the authenticated practitioner
            profile: Standard OIDC profile claims
            launch/patient: Request patient context in the token
            offline_access: Request a long-lived refresh token
            patient/AllergyIntolerance.rs: Read/search AllergyIntolerance (patient context)
            patient/CarePlan.rs: Read/search CarePlan (patient context)
            patient/CareTeam.rs: Read/search CareTeam (patient context)
            patient/Condition.rs: Read/search Condition (patient context)
            patient/Coverage.rs: Read/search Coverage (patient context)
            patient/Device.rs: Read/search Device (patient context)
            patient/DiagnosticReport.rs: Read/search DiagnosticReport (patient context)
            patient/DocumentReference.rs: Read/search DocumentReference (patient context)
            patient/Encounter.rs: Read/search Encounter (patient context)
            patient/Goal.rs: Read/search Goal (patient context)
            patient/Immunization.rs: Read/search Immunization (patient context)
            patient/Location.rs: Read/search Location (patient context)
            patient/Medication.rs: Read/search Medication (patient context)
            patient/MedicationRequest.rs: Read/search MedicationRequest (patient context)
            patient/Observation.rs: Read/search Observation (patient context)
            patient/Organization.rs: Read/search Organization (patient context)
            patient/Patient.rs: Read/search Patient (patient context)
            patient/Practitioner.rs: Read/search Practitioner (patient context)
            patient/PractitionerRole.rs: Read/search PractitionerRole (patient context)
            patient/Procedure.rs: Read/search Procedure (patient context)
            patient/Provenance.rs: Read/search Provenance (patient context)
            patient/RelatedPerson.rs: Read/search RelatedPerson (patient context)
            patient/ServiceRequest.rs: Read/search ServiceRequest (patient context)
            user/AllergyIntolerance.rs: Read/search AllergyIntolerance (user context)
            user/CarePlan.rs: Read/search CarePlan (user context)
            user/CareTeam.rs: Read/search CareTeam (user context)
            user/Condition.rs: Read/search Condition (user context)
            user/Coverage.rs: Read/search Coverage (user context)
            user/Device.rs: Read/search Device (user context)
            user/DiagnosticReport.rs: Read/search DiagnosticReport (user context)
            user/DocumentReference.rs: Read/search DocumentReference (user context)
            user/Encounter.rs: Read/search Encounter (user context)
            user/Goal.rs: Read/search Goal (user context)
            user/Immunization.rs: Read/search Immunization (user context)
            user/Location.rs: Read/search Location (user context)
            user/Medication.rs: Read/search Medication (user context)
            user/MedicationRequest.rs: Read/search MedicationRequest (user context)
            user/Observation.rs: Read/search Observation (user context)
            user/Organization.rs: Read/search Organization (user context)
            user/Patient.rs: Read/search Patient (user context)
            user/Practitioner.rs: Read/search Practitioner (user context)
            user/PractitionerRole.rs: Read/search PractitionerRole (user context)
            user/Procedure.rs: Read/search Procedure (user context)
            user/Provenance.rs: Read/search Provenance (user context)
            user/RelatedPerson.rs: Read/search RelatedPerson (user context)
            user/ServiceRequest.rs: Read/search ServiceRequest (user context)
            system/AllergyIntolerance.rs: Read/search AllergyIntolerance (system/bulk context)
            system/CarePlan.rs: Read/search CarePlan (system/bulk context)
            system/CareTeam.rs: Read/search CareTeam (system/bulk context)
            system/Condition.rs: Read/search Condition (system/bulk context)
            system/Coverage.rs: Read/search Coverage (system/bulk context)
            system/Device.rs: Read/search Device (system/bulk context)
            system/DiagnosticReport.rs: Read/search DiagnosticReport (system/bulk context)
            system/DocumentReference.rs: Read/search DocumentReference (system/bulk context)
            system/Encounter.rs: Read/search Encounter (system/bulk context)
            system/Goal.rs: Read/search Goal (system/bulk context)
            system/Immunization.rs: Read/search Immunization (system/bulk context)
            system/Location.rs: Read/search Location (system/bulk context)
            system/Medication.rs: Read/search Medication (system/bulk context)
            system/MedicationRequest.rs: Read/search MedicationRequest (system/bulk context)
            system/Observation.rs: Read/search Observation (system/bulk context)
            system/Organization.rs: Read/search Organization (system/bulk context)
            system/Patient.rs: Read/search Patient (system/bulk context)
            system/Practitioner.rs: Read/search Practitioner (system/bulk context)
            system/PractitionerRole.rs: Read/search PractitionerRole (system/bulk context)
            system/Procedure.rs: Read/search Procedure (system/bulk context)
            system/Provenance.rs: Read/search Provenance (system/bulk context)
            system/RelatedPerson.rs: Read/search RelatedPerson (system/bulk context)
            system/ServiceRequest.rs: Read/search ServiceRequest (system/bulk context)
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'OAuth2 access token (JWT). Obtain it via the legacy `password` grant or the new `client_credentials` flow (see the **Authentication** guide), then send as `Authorization: Bearer <token>`.'
      x-default: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhN2NiZmYwZWUxYjk0ODkwOWMxZmQzYzk3ODhlZjc1NCIsImlzcyI6Im1vZG1lZCIsInN1YiI6ImZoaXJfUWZMbG8iLCJ1cmxQcmVmaXgiOiJhcGlwb3J0YWwiLCJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJ2ZW5kb3IiOiJmaGlyX1FmTGxvQGFwaXBvcnRhbCIsInBvbCI6ImNoYW5nZW1lIn0.f0VcA3R56IuAvdbPhInqUbhmEwk-tiOIeELVpTZCUZ8
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: 'Shared **sandbox** API key (public sandbox only). Send as the `x-api-key` header.


        `Zt9tXPIgz17uxEU6gkZPWa3ZAFhZOqm04oEDHC1f`'
      x-default: Zt9tXPIgz17uxEU6gkZPWa3ZAFhZOqm04oEDHC1f
x-refined-from:
- modernizing-medicine-certified-fhir-api-openapi.json
- modernizing-medicine-ema-proprietary-api-openapi.json