﻿{
  "openapi": "3.0.2",
  "info": {
    "title": "Knowledge Artifact Repository",
    "description": "This CapabilityStatement defines the expected capabilities of the Knowledge Artifact Repository actor when conforming to the MedMorph RA IG. This actor is responsible for allowing creation, modification, and hosting of the Knowledge Artifacts.",
    "license": {
      "name": "Creative Commons Zero v1.0 Universal",
      "url": "http://spdx.org/licenses/CC0-1.0.html"
    },
    "version": "1.0.0",
    "contact": {
      "name": "HL7 International - Public Health Work Group"
    }
  },
  "externalDocs": {
    "url": "http://hl7.org/fhir/us/medmorph/CapabilityStatement/medmorph-knowledge-artifact-repository",
    "description": "FHIR CapabilityStatement"
  },
  "paths": {
    "/metadata": {
      "summary": "Access to the Server\u0027s Capability Statement",
      "description": "All FHIR Servers return a CapabilityStatement that describes what services they perform",
      "get": {
        "summary": "Return the server\u0027s capability statement",
        "operationId": "metadata",
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              }
            }
          },
          "200": {
            "description": "the capbility statement",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/CapabilityStatement"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/PlanDefinition": {
      "summary": "Manager for resources of type PlanDefinition",
      "description": "The Manager for resources of type PlanDefinition: provides services to manage the collection of all the PlanDefinition instances",
      "get": {
        "summary": "Search all resources of type PlanDefinition based on a set of criteria",
        "operationId": "searchPlanDefinition",
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              }
            }
          },
          "200": {
            "description": "the resource being returned",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/Bundle"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/elements"
          },
          {
            "name": "identifier",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "External identifier for the plan definition"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Computationally friendly name of the plan definition"
          },
          {
            "name": "publisher",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Name of the publisher of the plan definition"
          },
          {
            "name": "title",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The human-friendly name of the plan definition"
          }
        ]
      },
      "post": {
        "summary": "Create a new resource",
        "operationId": "createPlanDefinition",
        "requestBody": {
          "description": "The new state of the resource",
          "required": true,
          "content": {
            "application/fhir+json": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/PlanDefinition"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              }
            }
          },
          "200": {
            "description": "the resource being returned after being updated",
            "headers": {
              "ETag": {
                "description": "Version from Resource.meta.version as a weak ETag",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/PlanDefinition"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/PlanDefinition/{rid}": {
      "summary": "Read/Write/etc resource instance of type PlanDefinition",
      "description": "Access to services to manage the state of a single resource of type PlanDefinition",
      "get": {
        "summary": "Read the current state of the resource",
        "operationId": "readPlanDefinition",
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              }
            }
          },
          "200": {
            "description": "the resource being returned",
            "headers": {
              "ETag": {
                "description": "Version from Resource.meta.version as a weak ETag",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/PlanDefinition"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/rid"
          },
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      },
      "put": {
        "summary": "Update the current state of the resource",
        "operationId": "updatePlanDefinition",
        "requestBody": {
          "description": "The new state of the resource",
          "required": true,
          "content": {
            "application/fhir+json": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/PlanDefinition"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              }
            }
          },
          "200": {
            "description": "the resource being returned after being updated",
            "headers": {
              "ETag": {
                "description": "Version from Resource.meta.version as a weak ETag",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/PlanDefinition"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/rid"
          },
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/PlanDefinition/{rid}/_history/{hid}": {
      "summary": "Read a past version of resource instance of type PlanDefinition",
      "description": "Access a to specified previous version of a single resource of type PlanDefinition",
      "get": {
        "summary": "Read a past state of the resource",
        "operationId": "vreadPlanDefinition",
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              }
            }
          },
          "200": {
            "description": "the resource being returned",
            "headers": {
              "ETag": {
                "description": "Version from Resource.meta.version as a weak ETag for that version",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/PlanDefinition"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/rid"
          },
          {
            "$ref": "#/components/parameters/hid"
          },
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    }
  },
  "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"
        }
      }
    }
  }
}