You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 2
Next »
Purpose
This WS allows to get declaration by its globally unique ID in Admin panel.
Key points
This is a graphQl method used in Administration panel only.
Only authenticated and authorized NHS employee with appropriate scope can get declaration by its globally unique ID.
Specification
declaration
"Reads a single `Declaration` using its globally unique ID."
declaration(id: ID!): Declaration
"""
Declaration combines data about Patient, Employee, LegalEntity and Division.
In order to obtain details user must have a scope `declaration:read`.
"""
type Declaration implements Node {
"The ID of an object"
id: ID!
"Primary key identifier from the database"
databaseId: UUID!
"unique human redable number of declaration"
declarationNumber: String!
"The date when declaration takes effect"
startDate: Date!
"The date wher declaration ends."
endDate: Date!
"The date when declaration is signed by doctor."
signedAt: DateTime!
"Status ah yhe declaration, is set automatically."
status: DeclarationStatus!
"type of declaration, as for now it's only one type =`family_doctor`"
scope: String
"The reason of declining the declaration, is set automatically on declining declaration."
reason: String
"Free text for declining declaration, is filled by the person who declined declaration."
reasonDescription: String
"Legal entity information, where declaration was signed."
legalEntity: LegalEntity!
"Patient information."
person: Person!
"Division in legal entity where medical services are provided."
division: Division!
"Doctor information, who signed declaration."
employee: Employee!
"Documents which were attahced to declarations."
declarationAttachedDocuments: [DeclarationAttachedDocument]
}
"""
List of declaration statuses.
"""
enum DeclarationStatus {
"Status `Active` for declaration."
ACTIVE
"Status `CLOSED` for declaration."
CLOSED
"Status `PENDING_VERIFICATION` for declaration."
PENDING_VERIFICATION
"Status `REJECTED` for declaration."
REJECTED
"Status `TERMINATED` for declaration."
TERMINATED
}
"""
Structure of documents attached to the declaration.
"""
type DeclarationAttachedDocument {
"The type of document."
type: String!
"Link for uploading scan copies of the documnet, is generated by e-Health."
url: String!
}
Authorization
Verify the validity of access token
Verify that token is not expired
Check user scopes in order to perform this action (scope = 'declaration:read')
Validate legal entity
Extract client_id from token.
Check client scopes in order to perform this action (scope = 'declaration:read')
Check client type (type = NHS)
Validate request
Service logic
Get data from ops DB:
declarations by id
Render a response according to specification.