```
{
"event_type": "AppointmentEvent",
"event_timestamp": "4062-82-23T51:50:57+60:34",
"event": {
"practice": {
"practice_name": "string",
"practice_id": {
"organization_id": "string",
"organization_sub_id": "string",
"type": "NEO"
},
"practice_email_address": "string",
"practice_voice_phone": "stringstri",
"last_modified": "9625-78-79T43:53:43.4792308692262644046228509666867726995336293991858916892524612514880446632+63:31"
},
"animal": {
"animal_name": "string",
"animal_sex": "string",
"animal_breed": {},
"animal_status": "string",
"animal_deceased": true,
"animal_species": "string",
"animal_birth_date": "string",
"animal_id": "string",
"animal_deceased_date": {},
"last_modified": "7723-33-44T55:10:19.79505714383697522668140162251954474282+00:57"
},
"appointment": {
"appointment_resource": {},
"appointment_confirmed": true,
"appointment_status": "string",
"appointment_room": {},
"appointment_secondary_reason": {},
"appointment_date": "string",
"appointment_id": "string",
"appointment_confirmed_date": {},
"appointment_reason": "string",
"last_modified": "3759-30-93T76:98:50Z3759"
},
"animal_owner": {
"animal_owner_status": "string",
"animal_owner_address_line1": {},
"animal_owner_sms_phone": "+4601454+46",
"animal_owner_address_line2": {},
"animal_owner_address_line3": {},
"animal_owner_address_postal_code": {},
"animal_owner_title": {},
"animal_owner_address_city": {},
"animal_owner_first_name": "string",
"animal_owner_id": "string",
"animal_owner_address_country": {},
"animal_owner_email": {},
"animal_owner_last_name": "string",
"last_modified": "3218-59-34T87:04:61.7610972535-51:95",
"animal_owner_address_state": {}
}
}
}
```
## Practice object
### Basic
```json
"practice": {
"name": "string",
"email": "string",
"voice_phone": "string",
"modified": "9625-78-79T43:53:43.+63:31",
"practice_id": {
"organization_id": "string",
"branch_id": "string",
"pims_id": "EZYVET"
}
}
```
### Advanced
```json
"practice": {
"name": "string",
"email": "string",
"voice_phone": "string",
"modified": "9625-78-79T43:53:43.+63:31",
"relationships": {
"organization": "string",
"branch": "string",
"pims": "EZYVET"
}
}
```
## Animal Object
### Basic
``` json
"animal": {
"id": "string",
"owner_id": "string",
"name": "string",
"sex": "string", //freetext "male" or "female"
"species": "string", //freetext
"breed": "string", //freetext
"status": "string", // "active" or "inactive"
"birth_date": "string",
"deceased": true,
"deceased_date": "string", // "timestamp accurate to day"
"modified": "7723-33-44T55:10:19.+00:57"
"practice_id": {
"organization_id": "string",
"branch_id": "string",
"pims_id": "EZYVET"
}
}
```
### Advanced
``` json
"animal": {
"id": "string",
"name": "string",
"sex": "string", //freetext "male" or "female"
"species": "string", //freetext
"breed": "string", //freetext
"status": "string", // "active" or "inactive"
"birth_date": "string",
"deceased": true,
"deceased_date": "string", // "timestamp accurate to day"
"modified": "7723-33-44T55:10:19.+00:57",
"relationships": {
"organization": "string",
"branch": "string",
"pims": "EZYVET",
"owner": "string"
}
}
```
## Appointment Object
### Basic
``` json
"appointment": {
"id": "string",
"owner_id": "",
"animal_id": "",
"resource": "string", // tech/doctor name (optional)
"date": "string", // localtime 2022-04-04T12:31:30
"room": "string", // name of room / department (optional)
"status": "string", // "cancelled" / "new" / "unconfirmed" / "confirmed"
"confirmed": true,
"confirmed_date": {},
"reason": "string",
"secondary_reason": {},
"modified": "3759-30-93T76:98:50Z3759",
"practice_id": {
"organization_id": "string",
"branch_id": "string",
"pims_id": "string"
}
}
```
### Advanced
``` json
"appointment": {
"id": "string",
"resource": "string", // tech/doctor name (optional)
"date": "string", // localtime 2022-04-04T12:31:30
"room": "string", // name of room / department (optional)
"status": "string", // "cancelled" / "new" / "unconfirmed" / "confirmed"
"confirmed": true,
"confirmed_date": {},
"reason": "string",
"secondary_reason": {},
"modified": "3759-30-93T76:98:50Z3759",
"relationships": {
"organization": "string",
"branch": "string",
"pims": "EZYVET",
"owner": "string",
"animal": "string"
}
}
```
## Owner Object
### Basic
``` json
"owner": {
"id": "string",
"status": "string", // "active" / "inactive"
"title": "string|null", // freetext
"first_name": "string",
"last_name": "string",
"address_line1": "string|null",
"address_line2": "string|null",
"address_line3": "string|null",
"postal_code": "string|null",
"city": "string|null",
"region": "string|null",
"country": "string|null",
"phone": "+4601454+46",
"email": "string|null",
"modified": "3218-59-34T87:04:61.7610972535-51:95",
"practice_id": {
"organization_id": "string",
"branch_id": "string",
"pims_id": "EZYVET"
}
}
```
### Advanced
``` json
"owner": {
"id": "string",
"status": "string", // "active" / "inactive"
"title": "string|null", // freetext
"first_name": "string",
"last_name": "string",
"address_line1": "string|null",
"address_line2": "string|null",
"address_line3": "string|null",
"postal_code": "string|null",
"city": "string|null",
"region": "string|null",
"country": "string|null",
"phone": "+4601454+46",
"email": "string|null",
"modified": "3218-59-34T87:04:61.7610972535-51:95",
"relationships": {
"organization": "string",
"branch": "string",
"pims": "EZYVET"
}
}
```
## Datetime example
```
2022-04-04T12:31:30.157Z
```
## ezyVet UID Examples
```
ownershipSeparation_v2jfNgSee9o9hEhxbxdTt
site_v2jfNgSee9o9hEhxfhtjdy
```
## Referential Integrity
We'll need to add references to related entities to be able to sew the objects back together. We've split them out, but in the blob version all the related keys were present in the same object, so that leaves the separated objects as orphans currently. -RD