// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "contact": {},
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/patients": {
            "get": {
                "description": "Get all patients.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Patients"
                ],
                "summary": "Get patient roster",
                "responses": {
                    "200": {
                        "description": "All patients",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Patient"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/HttpError"
                        }
                    }
                }
            }
        },
        "/patients/admit": {
            "post": {
                "description": "admits a new patient.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Patients"
                ],
                "summary": "Admit a new patient",
                "parameters": [
                    {
                        "description": "Patient to admit",
                        "name": "AdmitPatientRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AdmitPatientRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Admitted patient",
                        "schema": {
                            "$ref": "#/definitions/AdmitPatientResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/HttpError"
                        }
                    }
                }
            }
        },
        "/patients/{id}/discharge": {
            "post": {
                "description": "discharges a patient.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Patients"
                ],
                "summary": "Discharge a patient",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Patient Id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Discharge request",
                        "name": "DischargePatientRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DischargePatientRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/HttpError"
                        }
                    }
                }
            }
        },
        "/patients/{id}/transfer": {
            "post": {
                "description": "transfers patient to a new ward.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Patients"
                ],
                "summary": "Transfer a patient",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Patient Id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Transfer request",
                        "name": "TransferPatientRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TransferPatientRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/HttpError"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "AdmitPatientRequest": {
            "description": "Patient to be admitted",
            "type": "object",
            "properties": {
                "patient_age": {
                    "type": "integer"
                },
                "patient_name": {
                    "type": "string"
                },
                "ward_number": {
                    "type": "string"
                }
            }
        },
        "AdmitPatientResponse": {
            "type": "object",
            "properties": {
                "patient_id": {
                    "type": "string"
                }
            }
        },
        "DischargePatientRequest": {
            "type": "object",
            "properties": {
                "discharge_note": {
                    "type": "string"
                }
            }
        },
        "HttpError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "error": {}
            }
        },
        "Patient": {
            "type": "object",
            "properties": {
                "age": {
                    "type": "integer"
                },
                "discharge_note": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "ward_number": {
                    "type": "string"
                }
            }
        },
        "TransferPatientRequest": {
            "type": "object",
            "properties": {
                "new_ward_number": {
                    "type": "string"
                }
            }
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "1.0",
	Host:             "",
	BasePath:         "",
	Schemes:          []string{},
	Title:            "Event-Sourced Clinic Example API",
	Description:      "This is an Event-Sourced Clinic example.",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
