﻿{
  "openapi": "3.0.2",
  "info": {
    "title": "EEHRxF Resource Consumer CapabilityStatement",
    "description": "CapabilityStatement for the EEHRxF Resource Consumer actor. This actor queries for\nclinical data resources following the International Patient Access (IPA) patterns and\nIHE QEDm Clinical Data Consumer capabilities.\n\nThis CapabilityStatement defines the requirements for systems consuming direct resource\naccess (beyond document-based exchange) in the EU EHR Exchange Format (EEHRxF) ecosystem.\nIt inherits patterns from:\n- **IPA (International Patient Access)**: Resource profiles and search parameter patterns\n- **IHE QEDm (Query for Existing Data for Mobile)**: Clinical Data Consumer actor capabilities\n\n### Supported Resources\n- **Patient**: Lookup only (search by identifier, read by ID)\n- **Practitioner**: Read access for clinical context\n- **Organization**: Read access for organizational context\n- **Condition**: Problems and diagnoses\n- **AllergyIntolerance**: Allergy and intolerance records\n- **Observation**: Clinical observations (vital signs, lab results, etc.)\n- **DiagnosticReport**: Laboratory and imaging reports\n- **MedicationRequest**: Medication orders and prescriptions\n- **MedicationDispense**: Medication dispensing records\n- **Encounter**: Patient encounters\n\n### Security\nSystems SHALL support SMART Backend Services authorization for all transactions.\n\n### Profile Inheritance\nConsumers SHOULD expect resources conforming to EU Core profiles where available.",
    "license": {
      "name": "Creative Commons Zero v1.0 Universal",
      "url": "http://spdx.org/licenses/CC0-1.0.html"
    },
    "version": "0.1.0",
    "contact": {
      "name": "HL7 Europe",
      "url": "http://hl7.eu"
    }
  },
  "externalDocs": {
    "url": "http://hl7.eu/fhir/euridice-api/CapabilityStatement/EEHRxF-ResourceConsumer",
    "description": "FHIR CapabilityStatement"
  },
  "components": {
    "parameters": {
      "rid": {
        "name": "rid",
        "in": "path",
        "description": "id of the resource (\u003dResource.id)",
        "required": true,
        "allowEmptyValue": false,
        "style": "simple",
        "schema": {
          "type": "string"
        }
      },
      "hid": {
        "name": "hid",
        "in": "path",
        "description": "id of the history entry (\u003dResource.meta.versionId)",
        "required": true,
        "allowEmptyValue": false,
        "style": "simple",
        "schema": {
          "type": "string"
        }
      },
      "summary": {
        "name": "_summary",
        "in": "query",
        "description": "Requests the server to return a designated subset of the resource",
        "allowEmptyValue": true,
        "style": "form",
        "schema": {
          "type": "string",
          "enum": [
            "true",
            "text",
            "data",
            "count",
            "false"
          ]
        }
      },
      "format": {
        "name": "_format",
        "in": "query",
        "description": "Specify alternative response formats by their MIME-types (when a client is unable acccess accept: header)",
        "allowEmptyValue": true,
        "style": "form",
        "schema": {
          "type": "string",
          "format": "mime-type"
        }
      },
      "pretty": {
        "name": "_pretty",
        "in": "query",
        "description": "Ask for a pretty printed response for human convenience",
        "allowEmptyValue": true,
        "style": "form",
        "schema": {
          "type": "boolean"
        }
      },
      "elements": {
        "name": "_elements",
        "in": "query",
        "description": "Requests the server to return a collection of elements from the resource",
        "allowEmptyValue": true,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "format": "string",
          "items": {
            "format": "string"
          }
        }
      },
      "count": {
        "name": "_count",
        "in": "query",
        "description": "The maximum number of search results on a page. The server is not bound to return the number requested, but cannot return more",
        "schema": {
          "type": "number"
        }
      }
    }
  }
}