﻿{
  "openapi": "3.0.2",
  "info": {
    "title": "PHD IG FHIR Observation Server requirements",
    "description": "Capability statement. This statement indicates what the server must support and accept to work with this Guide. Though the CapabilityStatement indicates, for example, that the server must support the Device resource, it does not mean the server must save the Device resource. The use case may only be interested in the Observation and Patient resources. What it does mean is that the server cannot generate an error when the PHG uploads a Device resource or references a Device resource that it has uploaded.",
    "license": {
      "name": "Creative Commons Zero v1.0 Universal",
      "url": "http://spdx.org/licenses/CC0-1.0.html"
    },
    "version": "2.0.0",
    "contact": {
      "name": "HL7 International / Devices"
    }
  },
  "externalDocs": {
    "url": "http://hl7.org/fhir/uv/phd/CapabilityStatement/PhdFHIRServer",
    "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"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/OperationOutcome.xsd"
                }
              }
            }
          },
          "200": {
            "description": "the capbility statement",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/CapabilityStatement"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/CapabilityStatement.xsd"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/Bundle": {
      "summary": "Manager for resources of type Bundle",
      "description": "The Manager for resources of type Bundle: provides services to manage the collection of all the Bundle instances",
      "post": {
        "summary": "Create a new resource",
        "operationId": "createBundle",
        "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/Bundle"
              }
            },
            "application/fhir+xml": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/Bundle.xsd"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/OperationOutcome.xsd"
                }
              }
            }
          },
          "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/Bundle"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/Bundle.xsd"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/Patient": {
      "summary": "Manager for resources of type Patient",
      "description": "The Manager for resources of type Patient: provides services to manage the collection of all the Patient instances",
      "post": {
        "summary": "Create a new resource",
        "operationId": "createPatient",
        "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/Patient"
              }
            },
            "application/fhir+xml": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/Patient.xsd"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/OperationOutcome.xsd"
                }
              }
            }
          },
          "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/Patient"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/Patient.xsd"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/Patient/{rid}": {
      "summary": "Read/Write/etc resource instance of type Patient",
      "description": "Access to services to manage the state of a single resource of type Patient",
      "put": {
        "summary": "Update the current state of the resource (can create a new resource if it does not exist)",
        "operationId": "updatePatient",
        "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/Patient"
              }
            },
            "application/fhir+xml": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/Patient.xsd"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/OperationOutcome.xsd"
                }
              }
            }
          },
          "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/Patient"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/Patient.xsd"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/rid"
          },
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/Device": {
      "summary": "Manager for resources of type Device",
      "description": "The Manager for resources of type Device: provides services to manage the collection of all the Device instances",
      "post": {
        "summary": "Create a new resource",
        "operationId": "createDevice",
        "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/Device"
              }
            },
            "application/fhir+xml": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/Device.xsd"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/OperationOutcome.xsd"
                }
              }
            }
          },
          "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/Device"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/Device.xsd"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/Device/{rid}": {
      "summary": "Read/Write/etc resource instance of type Device",
      "description": "Access to services to manage the state of a single resource of type Device",
      "put": {
        "summary": "Update the current state of the resource (can create a new resource if it does not exist)",
        "operationId": "updateDevice",
        "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/Device"
              }
            },
            "application/fhir+xml": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/Device.xsd"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/OperationOutcome.xsd"
                }
              }
            }
          },
          "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/Device"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/Device.xsd"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/rid"
          },
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/Observation": {
      "summary": "Manager for resources of type Observation",
      "description": "The Manager for resources of type Observation: provides services to manage the collection of all the Observation instances",
      "post": {
        "summary": "Create a new resource",
        "operationId": "createObservation",
        "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/Observation"
              }
            },
            "application/fhir+xml": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/Observation.xsd"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/OperationOutcome.xsd"
                }
              }
            }
          },
          "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/Observation"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/Observation.xsd"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/summary"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          },
          {
            "$ref": "#/components/parameters/elements"
          }
        ]
      }
    },
    "/": {
      "summary": "System level operations",
      "description": "System level operations",
      "put": {
        "summary": "Batch or Transaction",
        "operationId": "transaction",
        "requestBody": {
          "description": "The batch or transaction",
          "required": true,
          "content": {
            "application/fhir+json": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/Bundle"
              }
            },
            "application/fhir+xml": {
              "schema": {
                "$ref": "https://hl7.org/fhir/R4/Bundle.xsd"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Error, with details",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/OperationOutcome"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/OperationOutcome.xsd"
                }
              }
            }
          },
          "200": {
            "description": "Batch or Transaction response",
            "content": {
              "application/fhir+json": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/fhir.schema.json#/definitions/Bundle"
                }
              },
              "application/fhir+xml": {
                "schema": {
                  "$ref": "https://hl7.org/fhir/R4/Bundle.xsd"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/pretty"
          }
        ]
      }
    }
  },
  "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"
        }
      }
    }
  }
}