models
Address Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"street": {
"type": "string"
},
"streetNumber": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string"
}
},
"required": [
"street",
"streetNumber",
"zipCode",
"city",
"country"
]
}
AuthenticationClaims Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"userId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"userId"
]
}
BilledRequest Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string",
"format": "uuid"
},
"tenantId": {
"type": "string",
"format": "uuid"
},
"tenantKey": {
"type": "string",
"format": "^[a-z\\-]+$"
},
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"apiGatewayRequests": {
"type": "number"
},
"webSocketRequests": {
"type": "number"
},
"lambdaInvocations": {
"type": "number"
},
"dynamoDbReads": {
"type": "number"
},
"dynamoDbWrites": {
"type": "number"
},
"s3Reads": {
"type": "number"
},
"s3Writes": {
"type": "number"
},
"usd": {
"type": "number"
},
"compensation": {
"type": "number"
},
"createdOn": {
"type": "string",
"format": "date-time"
}
},
"required": [
"_id",
"tenantId",
"tenantKey",
"method",
"path",
"usd",
"createdOn"
]
}
Disaster Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string",
"format": "uuid"
},
"tenantId": {
"type": "string",
"format": "uuid"
},
"tenantKey": {
"type": "string",
"format": "^[a-z\\-]+$"
},
"name": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"Unknown",
"Fire",
"Flood",
"Storm",
"Blizzard",
"Earthquake",
"Avalanche",
"Landslide",
"Tsunami",
"Hurricane",
"Tornado",
"Volcano",
"Epidemic",
"Pandemic",
"Explosion",
"TerroristAttack",
"NuclearDisaster",
"BiologicalDisaster",
"ChemicalDisaster",
"Meteorite",
"Asteroid"
]
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"victims": {
"type": "number"
},
"createdOn": {
"type": "string",
"format": "date-time"
},
"updatedOn": {
"type": "string",
"format": "date-time"
}
},
"required": [
"_id",
"tenantId",
"tenantKey",
"latitude",
"longitude",
"createdOn",
"updatedOn"
]
}
Patient Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string",
"format": "uuid"
},
"tenantId": {
"type": "string",
"format": "uuid"
},
"tenantKey": {
"type": "string",
"format": "^[a-z\\-]+$"
},
"disasterId": {
"type": "string",
"format": "uuid"
},
"originalId": {
"type": "string",
"format": "uuid"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"gender": {
"type": "string",
"enum": [
"Male",
"Female",
"Other"
]
},
"age": {
"type": "number",
"minimum": 0,
"maximum": 99
},
"preExistingHealthConditions": {
"type": "array",
"items": {
"type": "string"
}
},
"createdOn": {
"type": "object",
"format": "date-time"
}
},
"required": [
"_id",
"tenantId",
"tenantKey",
"disasterId",
"originalId",
"gender",
"age",
"createdOn"
]
}
Role Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string",
"format": "uuid"
},
"tenantId": {
"type": "string",
"format": "uuid"
},
"tenantKey": {
"type": "string",
"format": "^[a-z\\-]+$"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"rights": {
"type": "array",
"items": {
"type": "string",
"enum": [
"AccessRightAccessManagementConsole",
"AccessRightAccessTenantConsole",
"AccessRightAccessDashboard",
"AccessRightViewTenant",
"AccessRightActivateTenant",
"AccessRightViewUser",
"AccessRightDeleteUser",
"AccessRightActivateUser",
"AccessRightCreateDevice",
"AccessRightCreateDeviceToken",
"AccessRightViewRole",
"AccessRightCreateRole",
"AccessRightAssignRole",
"AccessRightViewTriage",
"AccessRightCreateTriage",
"AccessRightUpdateTriage",
"AccessRightViewPatient",
"AccessRightCreatePatient",
"AccessRightUpdatePatient",
"AccessRightViewDisaster",
"AccessRightCreateDisaster",
"AccessRightWebSocket",
"AccessRightWebSocketEventOnCreateTriage",
"AccessRightWebSocketEventOnCreatePatient",
"AccessRightWebSocketEventOnCreateDisaster",
"AccessRightWebSocketEventOnUpdatePatient",
"AccessRightWebSocketEventOnUpdateDisaster"
]
}
},
"createdOn": {
"type": "string",
"format": "date-time"
},
"updatedOn": {
"type": "string",
"format": "date-time"
}
},
"required": [
"_id",
"tenantId",
"tenantKey",
"name",
"createdOn",
"updatedOn"
]
}
Tenant Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string",
"format": "uuid"
},
"key": {
"type": "string",
"format": "^[a-z\\-]+$"
},
"name": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"streetNumber": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string"
}
},
"required": [
"street",
"streetNumber",
"zipCode",
"city",
"country"
]
},
"invoiceAddress": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"streetNumber": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string"
}
},
"required": [
"street",
"streetNumber",
"zipCode",
"city",
"country"
]
},
"contact": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
}
}
},
"isActivated": {
"type": "boolean"
},
"rootUserId": {
"type": "string",
"format": "uuid"
},
"registeredOn": {
"type": "string",
"format": "date-time"
},
"activatedOn": {
"type": "string",
"format": "date-time"
}
},
"required": [
"_id",
"key",
"name",
"address",
"invoiceAddress",
"isActivated",
"rootUserId",
"registeredOn",
"activatedOn"
]
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
}
}
}
Triage Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string",
"format": "uuid"
},
"tenantId": {
"type": "string",
"format": "uuid"
},
"tenantKey": {
"type": "string",
"format": "^[a-z\\-]+$"
},
"patientId": {
"type": "string",
"format": "uuid"
},
"disasterId": {
"type": "string",
"format": "uuid"
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"required": [
"id"
]
},
"createdOn": {
"type": "string",
"format": "date-time"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"estimatedRadius": {
"type": "number"
},
"location": {
"type": "string",
"enum": [
"Incident",
"CasualtyAssembly",
"CasualtyTreatment",
"CasualtyDecontamination",
"MedicalTransport",
"Release"
]
},
"classification": {
"type": "string",
"enum": [
"Green",
"Yellow",
"Red",
"Black",
"Blue"
]
},
"subClassification": {
"type": "string",
"enum": [
"SpontaneousBreathing",
"LockedAirways",
"Hyperventilation",
"InhalationTrauma",
"CapillaryRefillTime",
"RadialisPulseNotPalpable",
"SevereBleeding",
"PuFailed"
]
},
"measures": {
"type": "array",
"items": {
"type": "string",
"enum": [
"TourniquetAttached",
"AirwaysOpened",
"ThoracicPuncture"
]
}
},
"remarks": {
"type": "string"
},
"isClamped": {
"type": "boolean"
},
"imageRef": {
"type": "string"
},
"timeInfo": {
"type": "object",
"properties": {
"onQrCodeScanned": {
"type": "object",
"format": "date-time"
},
"onTriageStarted": {
"type": "object",
"format": "date-time"
},
"onChildAdultSelected": {
"type": "object",
"format": "date-time"
},
"onAgeSelected": {
"type": "object",
"format": "date-time"
},
"onGenderSelected": {
"type": "object",
"format": "date-time"
},
"onClassificationSelected": {
"type": "object",
"format": "date-time"
},
"onTriageCompleted": {
"type": "object",
"format": "date-time"
}
}
}
},
"required": [
"_id",
"tenantId",
"tenantKey",
"patientId",
"disasterId",
"user",
"createdOn",
"latitude",
"longitude",
"location",
"classification"
]
}
TriageUserInfo Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"required": [
"id"
]
}
TriageTimeInfo Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"onQrCodeScanned": {
"type": "object",
"format": "date-time"
},
"onTriageStarted": {
"type": "object",
"format": "date-time"
},
"onChildAdultSelected": {
"type": "object",
"format": "date-time"
},
"onAgeSelected": {
"type": "object",
"format": "date-time"
},
"onGenderSelected": {
"type": "object",
"format": "date-time"
},
"onClassificationSelected": {
"type": "object",
"format": "date-time"
},
"onTriageCompleted": {
"type": "object",
"format": "date-time"
}
}
}
User Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"tenantId": {
"type": "string"
},
"tenantKey": {
"type": "string",
"format": "^[a-z\\-]+$"
},
"email": {
"type": "string",
"format": "email"
},
"password": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"isDeviceUser": {
"type": "boolean"
},
"deviceImei": {
"type": "string"
},
"deviceName": {
"type": "string"
},
"deviceOs": {
"type": "string",
"enum": [
"Android",
"iOS"
]
},
"isActivated": {
"type": "boolean"
},
"roles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"_id"
]
}
},
"registeredOn": {
"type": "string",
"format": "date-time"
},
"activatedOn": {
"type": "string",
"format": "date-time"
}
},
"required": [
"_id",
"tenantId",
"tenantKey",
"email",
"password",
"isDeviceUser",
"deviceImei",
"deviceName",
"deviceOs",
"isActivated",
"roles",
"registeredOn",
"activatedOn"
]
}
RoleRef Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"_id"
]
}
WebSocketID Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string",
"format": "uuid"
},
"tenantId": {
"type": "string",
"format": "uuid"
},
"tenantKey": {
"type": "string",
"format": "^[a-z\\-]+$"
},
"accessRights": {
"type": "array",
"items": {
"type": "string",
"enum": [
"AccessRightAccessManagementConsole",
"AccessRightAccessTenantConsole",
"AccessRightAccessDashboard",
"AccessRightViewTenant",
"AccessRightActivateTenant",
"AccessRightViewUser",
"AccessRightDeleteUser",
"AccessRightActivateUser",
"AccessRightCreateDevice",
"AccessRightCreateDeviceToken",
"AccessRightViewRole",
"AccessRightCreateRole",
"AccessRightAssignRole",
"AccessRightViewTriage",
"AccessRightCreateTriage",
"AccessRightUpdateTriage",
"AccessRightViewPatient",
"AccessRightCreatePatient",
"AccessRightUpdatePatient",
"AccessRightViewDisaster",
"AccessRightCreateDisaster",
"AccessRightWebSocket",
"AccessRightWebSocketEventOnCreateTriage",
"AccessRightWebSocketEventOnCreatePatient",
"AccessRightWebSocketEventOnCreateDisaster",
"AccessRightWebSocketEventOnUpdatePatient",
"AccessRightWebSocketEventOnUpdateDisaster"
]
}
}
},
"required": [
"_id",
"tenantId",
"tenantKey"
]
}
WebSocketMessage Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"event": {
"type": "string",
"enum": [
"OnCreatedTriage",
"OnCreatedPatient",
"OnCreatedDisaster",
"OnCreatedRescueResource",
"OnUpdatedPatient",
"OnUpdatedDisaster"
]
},
"data": {
"type": "object"
}
},
"required": [
"event",
"data"
]
}