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"
]
}
Capacity Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"red": {
"type": "number"
},
"yellow": {
"type": "number"
},
"green": {
"type": "number"
}
},
"required": [
"red",
"yellow",
"green"
]
}
HospitalCapacity Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"firstWave": {
"type": "object",
"properties": {
"red": {
"type": "number"
},
"yellow": {
"type": "number"
},
"green": {
"type": "number"
}
},
"required": [
"red",
"yellow",
"green"
]
},
"secondWave": {
"type": "object",
"properties": {
"red": {
"type": "number"
},
"yellow": {
"type": "number"
},
"green": {
"type": "number"
}
},
"required": [
"red",
"yellow",
"green"
]
}
},
"required": [
"firstWave",
"secondWave"
]
}
OperationalAvailability Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"red": {
"type": "number"
},
"yellow": {
"type": "number"
},
"green": {
"type": "number"
},
"updatedAt": {
"type": "object"
},
"updatedBy": {
"type": "string"
}
},
"required": [
"red",
"yellow",
"green"
]
}
Hospital Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"longitude": {
"type": "number"
},
"latitude": {
"type": "number"
},
"tier": {
"type": "number"
},
"capacity": {
"type": "object",
"properties": {
"firstWave": {
"type": "object",
"properties": {
"red": {
"type": "number"
},
"yellow": {
"type": "number"
},
"green": {
"type": "number"
}
},
"required": [
"red",
"yellow",
"green"
]
},
"secondWave": {
"type": "object",
"properties": {
"red": {
"type": "number"
},
"yellow": {
"type": "number"
},
"green": {
"type": "number"
}
},
"required": [
"red",
"yellow",
"green"
]
}
},
"required": [
"firstWave",
"secondWave"
]
},
"operationalAvailability": {
"type": "object",
"properties": {
"red": {
"type": "number"
},
"yellow": {
"type": "number"
},
"green": {
"type": "number"
},
"updatedAt": {
"type": "object"
},
"updatedBy": {
"type": "string"
}
},
"required": [
"red",
"yellow",
"green"
]
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"_id",
"name",
"address",
"longitude",
"latitude",
"tier",
"capacity",
"capabilities"
]
}
HospitalAdmission Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"hospitalId": {
"type": "string"
},
"assignmentId": {
"type": "string"
},
"disasterId": {
"type": "string"
},
"patientId": {
"type": "string"
},
"triageClassification": {
"type": "string"
},
"status": {
"type": "string"
},
"admittedAt": {
"type": "object"
},
"dischargedAt": {
"type": "object"
}
},
"required": [
"_id",
"hospitalId",
"assignmentId",
"disasterId",
"patientId",
"triageClassification",
"status",
"admittedAt"
]
}
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"
]
}
Passenger Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"patientId": {
"type": "string"
},
"hospitalId": {
"type": "string"
},
"status": {
"type": "string"
},
"boardedAt": {
"type": "object"
},
"droppedOffAt": {
"type": "object"
}
},
"required": [
"patientId",
"hospitalId",
"status",
"boardedAt"
]
}
RescueVehicleAssignment Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"disasterId": {
"type": "string"
},
"vehicleId": {
"type": "string"
},
"escortVehicleId": {
"type": "string"
},
"status": {
"type": "string"
},
"startedAt": {
"type": "object"
},
"completedAt": {
"type": "object"
},
"passengers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"patientId": {
"type": "string"
},
"hospitalId": {
"type": "string"
},
"status": {
"type": "string"
},
"boardedAt": {
"type": "object"
},
"droppedOffAt": {
"type": "object"
}
},
"required": [
"patientId",
"hospitalId",
"status",
"boardedAt"
]
}
}
},
"required": [
"_id",
"disasterId",
"vehicleId",
"status",
"passengers"
]
}
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",
"AccessRightWebSocketEventOnCreateAdmission",
"AccessRightWebSocketEventOnDeleteAdmission",
"AccessRightWebSocketEventOnCreateAssignment",
"AccessRightWebSocketEventOnUpdateAssignment",
"AccessRightWebSocketEventOnDeleteAssignment",
"AccessRightWebSocketEventOnUpdateHospitalCapacity",
"AccessRightWebSocketEventOnCreateVehicle",
"AccessRightWebSocketEventOnUpdateVehicle",
"AccessRightWebSocketEventOnDeleteVehicle",
"AccessRightViewVehicle",
"AccessRightCreateVehicle",
"AccessRightUpdateVehicle",
"AccessRightDeleteVehicle",
"AccessRightUpdateVehicleLocation",
"AccessRightViewHospital",
"AccessRightCreateHospital",
"AccessRightUpdateHospital",
"AccessRightDeleteHospital",
"AccessRightViewAssignment",
"AccessRightCreateAssignment",
"AccessRightUpdateAssignment",
"AccessRightDeleteAssignment"
]
}
},
"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"
}
}
}
TriagePictureWebsocketMessage Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"triageId": {
"type": "string"
},
"imageRef": {
"type": "string"
}
},
"required": [
"triageId",
"imageRef"
]
}
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"
]
}
VehicleETA Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"vehicleId": {
"type": "string"
},
"callSignature": {
"type": "string"
},
"vehicleType": {
"type": "string"
},
"origin": {
"type": "string"
},
"currentLatitude": {
"type": "number"
},
"currentLongitude": {
"type": "number"
},
"etaSeconds": {
"type": "number"
},
"etaText": {
"type": "string"
},
"distanceMeters": {
"type": "number"
},
"distanceText": {
"type": "string"
},
"status": {
"type": "string"
},
"lastLocationAt": {
"type": "object"
}
},
"required": [
"vehicleId",
"callSignature",
"vehicleType",
"origin",
"currentLatitude",
"currentLongitude",
"etaSeconds",
"etaText",
"distanceMeters",
"distanceText",
"status",
"lastLocationAt"
]
}
VehicleLocation Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"vehicleId": {
"type": "string"
},
"callSignature": {
"type": "string"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"accuracy": {
"type": "number"
},
"recordedAt": {
"type": "object"
},
"receivedAt": {
"type": "object"
},
"expiresAt": {
"type": "number"
}
},
"required": [
"_id",
"vehicleId",
"callSignature",
"latitude",
"longitude",
"recordedAt",
"receivedAt"
]
}
VehicleTypeRule Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"CanTransportPatients": {
"type": "boolean"
},
"CanEscort": {
"type": "boolean"
},
"DefaultCapacity": {
"type": "number"
}
}
}
Vehicle Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"vehicleType": {
"type": "string"
},
"licensePlate": {
"type": "string"
},
"origin": {
"type": "string"
},
"callSignature": {
"type": "string"
},
"capacity": {
"type": "number"
},
"canTransportPatients": {
"type": "boolean"
},
"canEscort": {
"type": "boolean"
},
"isDummy": {
"type": "boolean"
},
"disasters": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "number"
},
"disasterLocation": {
"type": "string"
}
},
"required": [
"_id",
"vehicleType",
"licensePlate",
"origin",
"callSignature",
"capacity",
"canTransportPatients",
"canEscort",
"isDummy",
"disasters",
"status",
"disasterLocation"
]
}
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",
"AccessRightWebSocketEventOnCreateAdmission",
"AccessRightWebSocketEventOnDeleteAdmission",
"AccessRightWebSocketEventOnCreateAssignment",
"AccessRightWebSocketEventOnUpdateAssignment",
"AccessRightWebSocketEventOnDeleteAssignment",
"AccessRightWebSocketEventOnUpdateHospitalCapacity",
"AccessRightWebSocketEventOnCreateVehicle",
"AccessRightWebSocketEventOnUpdateVehicle",
"AccessRightWebSocketEventOnDeleteVehicle",
"AccessRightViewVehicle",
"AccessRightCreateVehicle",
"AccessRightUpdateVehicle",
"AccessRightDeleteVehicle",
"AccessRightViewHospital",
"AccessRightCreateHospital",
"AccessRightUpdateHospital",
"AccessRightDeleteHospital",
"AccessRightViewAssignment",
"AccessRightCreateAssignment",
"AccessRightUpdateAssignment",
"AccessRightDeleteAssignment"
]
}
}
},
"required": [
"_id",
"tenantId",
"tenantKey"
]
}
WebSocketMessage Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"event": {
"type": "string",
"enum": [
"OnCreatedTriage",
"OnCreatedTriageImage",
"OnCreatedPatient",
"OnCreatedDisaster",
"OnCreatedRescueResource",
"OnCreatedAdmission",
"OnCreatedAssignment",
"OnCreatedVehicle",
"OnUpdatedPatient",
"OnUpdatedDisaster",
"OnUpdatedAssignment",
"OnUpdatedHospitalCapacity",
"OnUpdatedVehicle",
"OnDeletedAdmission",
"OnDeletedAssignment",
"OnDeletedVehicle"
]
},
"data": {
"type": "object"
}
},
"required": [
"event",
"data"
]
}