[{"$id":"http://schema.setarcode.aw/api-error.schema.json","title":"Api - Api Error Object","description":"An Api error object.","type":"object","properties":{"source":{"description":"The source of the Api error","type":"string"},"kid":{"description":"The related kid (if relevant).","$ref":"key.schema.json#/definitions/kid"},"subjectId":{"description":"The subject ID (if relevant).","type":"string"},"requestPattern":{"description":"The request pattern that caused the error e.g. 'keys.verify' or 'vaccines.get'.","type":"string"},"requestExchange":{"description":"The exchange on which the request was received e.g. 'aruba.health.exchange'.","type":"string"},"name":{"description":"The name of the Api error.","type":"string"},"code":{"description":"The code of the Api error.","type":"number"},"message":{"description":"The error message.","type":"string"}},"required":["source","requestPattern","requestExchange","message"]},{"$id":"http://schema.setarcode.aw/base-request.schema.json","title":"Api - A standard Api Request","description":"A standard request to a api","type":"object","properties":{"subjectId":{"type":"string","description":"The subjectId sending the request"},"dataType":{"type":"string","description":"The dataType (schema id) of the request"}},"required":["subjectId","dataType"]},{"$id":"http://schema.setarcode.aw/base-response.schema.json","title":"Api - A standard Api Response","description":"A standard response to api requests","type":"object","properties":{"source":{"type":"string","description":"The source of the message"},"type":{"description":"The service type of the source","$ref":"service.schema.json#/definitions/service-types"},"action":{"type":"string","description":"The action of the message"},"dataType":{"type":"string","description":"The dataType of the message"},"version":{"type":"string","description":"The version of the message"}},"required":["source","type","action","dataType","version"]},{"$id":"http://schema.setarcode.aw/service.schema.json","title":"Api - Service Object","description":"A service object.","type":"object","properties":{"source":{"description":"The service source.","type":"string"},"type":{"description":"The service type.","$ref":"#/definitions/service-types"},"publicKey":{"description":"The public key.","type":"string"}},"definitions":{"service-types":{"type":"string","enum":["keys","members","calendar","vaccines","appointments","prescriptions","notifications","labsReports","timeslots","healthCards"],"javaEnumNames":["keys","members","calendar","vaccines","appointments","prescriptions","notifications","labsReports","timeslots","healthCards"]}},"required":["source","type","publicKey"]},{"$id":"http://schema.setarcode.aw/dates.schema.json","title":"Api - Date definitions","description":"Date definitions for the API","type":"null","definitions":{"utc-date-string":{"description":"UTC date string in the format 'YYYY-MM-DDTHH:MM:SSZ[UTC]'","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z\\[UTC\\]$"},"utc-date-string-millis":{"description":"UTC date string with milliseconds in the format 'YYYY-MM-DDTHH:MM:SS.SSSZ[UTC]'","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z\\[UTC\\]$"},"utc-date-string-any":{"description":"UTC date string with or without milliseconds in the format 'YYYY-MM-DDTHH:MM:SS(.SSS)Z[UTC]'","type":"string","anyOf":[{"$ref":"#/definitions/utc-date-string-millis"},{"$ref":"#/definitions/utc-date-string"}]},"date-of-birth":{"description":"Date of birth in the format 'YYYY-MM-DD'","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}}},{"$id":"http://schema.setarcode.aw/key.schema.json","title":"Keys - Key Object","description":"A key object.","type":"object","properties":{"kid":{"description":"The key ID.","$ref":"#/definitions/kid"},"publicKey":{"description":"The public key.","type":"string"},"verificationStatus":{"description":"The verification status.","$ref":"#/definitions/verificationStatus"},"verificationDeniedReason":{"description":"The reason the verification was denied (if status is denied).","type":"string"},"verificationData":{"description":"The verification data.","$ref":"member.schema.json"},"signature":{"description":"The signature.","type":"string"}},"definitions":{"kid":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"verificationStatus":{"description":"The verification status of the key.","type":"string","enum":["pending","approved","denied"]}},"required":["kid","publicKey"]},{"$id":"http://schema.setarcode.aw/keys-back-office-process-request.schema.json","title":"Keys - Back Office Process Request","description":"A request to the back office to process a key. This request must be sent to amq.topic:keys.back-office-process","type":"object","properties":{"kid":{"description":"The key ID.","$ref":"key.schema.json#/definitions/kid"},"subjectId":{"description":"The subject ID.","type":"string"},"azvNumber":{"description":"The AZV number.","type":"string"},"publicKey":{"description":"The public key.","type":"string"},"aNumber":{"description":"The A number (optional).","type":"string"},"azvMemberData":{"description":"The azv member data if any matched (optional).","type":"object","allOf":[{"$ref":"member-azv-properties.schema.json"}],"extends":{"$ref":"member-azv-properties.schema.json"}},"extractedMemberData":{"description":"The extracted member data if any (required).","type":"object","allOf":[{"$ref":"member-properties.schema.json"}],"extends":{"$ref":"member-properties.schema.json"},"properties":{"documentFrontImage":{"type":"string","description":"The document front image jpg data in base64 format"}},"required":["documentFrontImage"]},"manualFaceVerification":{"description":"The manual face verification data if any (optional).","$ref":"keys-verify-request.schema.json#/definitions/manualFaceVerification"},"suggestedCorrections":{"description":"The suggested corrections for the member info (optional).","type":"object","allOf":[{"$ref":"member-properties.schema.json"}],"extends":{"$ref":"member-properties.schema.json"},"required":[]},"authenticityVerified":{"description":"The authenticity of the member data has been verified.","type":"boolean"},"reasonVerifyFailed":{"description":"The reason why the verification failed.","type":"string"}},"required":["kid","subjectId","azvNumber","publicKey","extractedMemberData"]},{"$id":"http://schema.setarcode.aw/keys-back-office-process-response.schema.json","title":"Keys - Back Office Process Response","description":"A response from the back office after processing a key. This response must be sent to amq.topic:keys.back-office-process-response","type":"object","properties":{"id":{"description":"The ID of the key.","type":"string"},"status":{"description":"The status of the process.","$ref":"key.schema.json#/definitions/verificationStatus"},"kid":{"description":"The key ID.","$ref":"key.schema.json#/definitions/kid"},"subjectId":{"description":"The subject ID.","type":"string"},"azvNumber":{"description":"The AZV number.","type":"string"},"publicKey":{"description":"The public key.","type":"string"},"aNumber":{"description":"The A number (optional).","type":"string"}},"allOf":[{"if":{"properties":{"status":{"const":"pending"}}},"then":{"required":["id","status","kid","subjectId","azvNumber","publicKey"]}},{"if":{"properties":{"status":{"const":"approved"}}},"then":{"properties":{"memberData":{"description":"The member data (required).","type":"object","allOf":[{"$ref":"member.schema.json"}],"extends":{"$ref":"member.schema.json"}}},"required":["id","status","kid","subjectId","azvNumber","publicKey","memberData"]}},{"if":{"properties":{"status":{"const":"denied"}}},"then":{"properties":{"reason":{"description":"The reason for denying the key (required).","type":"string"}},"required":["id","status","kid","subjectId","azvNumber","publicKey","reason"]}}]},{"$id":"http://schema.setarcode.aw/keys-change-response.schema.json","title":"Keys - Change Response","description":"A response key changes.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"array","items":{"$ref":"key.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/keys-delete-request.schema.json","title":"Keys - Delete Request","description":"A request to delete a key. This request must be sent to amq.topic:keys.delete","type":"object","allOf":[{"$ref":"key.schema.json"}],"extends":{"$ref":"key.schema.json"},"properties":{"subjectId":{"description":"The subject ID.","type":"string"}},"required":["kid","publicKey","verificationData","signature","subjectId"]},{"$id":"http://schema.setarcode.aw/keys-get-request.schema.json","title":"Keys - Get Key Request","description":"A request to get one or more keys. This request must be sent to amq.topic:keys.get","type":"object","properties":{"kids":{"type":"array","items":{"type":"string","$ref":"key.schema.json#/definitions/kid"}},"subjectId":{"description":"The subject ID.","type":"string"}},"required":["kids","subjectId"]},{"$id":"http://schema.setarcode.aw/keys-get-services-request.schema.json","title":"Keys - Get Services Request","description":"A request the services. This request must be sent to amq.topic:keys.get-services","type":"object","properties":{"subjectId":{"description":"The subject ID.","type":"string"}},"required":["subjectId"]},{"$id":"http://schema.setarcode.aw/keys-register-request.schema.json","title":"Keys - Verify Request","description":"A request to verify a key. This request must be sent to amq.topic:keys.verify","type":"object","allOf":[{"$ref":"key.schema.json"}],"extends":{"$ref":"key.schema.json"},"properties":{"subjectId":{"description":"The subject ID.","type":"string"},"memberAdditionalProperties":{"description":"The additional properties of the member.","type":"object","allOf":[{"$ref":"member-additional-properties.schema.json"}],"extends":{"$ref":"member-additional-properties.schema.json"}}},"required":["kid","publicKey","verificationData","signature","subjectId"]},{"$id":"http://schema.setarcode.aw/keys-services-response.schema.json","title":"Keys - Services Response","description":"A response for services.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"array","items":{"$ref":"service.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/keys-verify-request.schema.json","title":"Keys - Verify Request","description":"A request to verify a key. This request must be sent to amq.topic:keys.verify","type":"object","allOf":[{"properties":{"kid":{"description":"The key ID.","$ref":"key.schema.json#/definitions/kid"},"subjectId":{"description":"The subject ID.","type":"string"},"verificationTransactionId":{"description":"The verification transaction ID.","type":"string"},"azvNumber":{"description":"The AZV number.","type":"string"},"publicKey":{"description":"The public key.","type":"string"},"aNumber":{"description":"The A number (optional).","type":"string"},"suggestedCorrections":{"description":"The suggested corrections for the member info (optional).","type":"object","allOf":[{"$ref":"member-properties.schema.json"}],"extends":{"$ref":"member-properties.schema.json"}}},"required":["kid","subjectId","verificationTransactionId","azvNumber","publicKey"]}],"oneOf":[{"properties":{"faceVerificationTransactionId":{"description":"The face verification transaction ID (if not possible then use manualFaceVerification field).","type":"string"}},"required":["faceVerificationTransactionId"]},{"properties":{"manualFaceVerification":{"$ref":"#/definitions/manualFaceVerification"}},"required":["manualFaceVerification"]}],"definitions":{"manualFaceVerification":{"description":"Instead of a face verification transaction, the face verification is done manually.","type":"object","properties":{"contactPhoneNumber":{"description":"The phone number of the person who verified the face manually.","type":"string"},"frontFaceImageData":{"description":"The front face image data of the person who verified the face manually.","type":"string"},"sideFaceImageData":{"description":"The side face image data of the person who verified the face manually.","type":"string"},"extraDocuments":{"description":"The extra required document(s) of the person who verified the face manually.","type":"array","items":{"type":"object","properties":{"type":{"description":"The type of the required document.","type":"string"},"data":{"description":"The data of the required document.","type":"string"}},"required":["type","data"]}}},"required":["contactPhoneNumber","frontFaceImageData","sideFaceImageData"]}}},{"$id":"http://schema.setarcode.aw/member-additional-properties.schema.json","title":"Members - Member Additional Properties Object","description":"An object containing a member's additional properties.","type":"object","properties":{"generalPractitionerAgbCode":{"description":"The member's general practitioner's AGB code.","type":"string"}},"required":[]},{"$id":"http://schema.setarcode.aw/member-azv-properties.schema.json","title":"Members - Member AZV Properties Object","description":"A member propeties object.","type":"object","properties":{"surname":{"description":"The surname.","type":"string"},"intials":{"description":"The initials.","type":"string"},"dateOfBirth":{"description":"The date of birth.","$ref":"dates.schema.json#/definitions/date-of-birth"}},"required":[]},{"$id":"http://schema.setarcode.aw/member-properties.schema.json","title":"Members - Member Properties Object","description":"A member propeties object.","type":"object","properties":{"surname":{"description":"The surname.","type":"string"},"givenNames":{"description":"The given names.","type":"string"},"dateOfBirth":{"description":"The date of birth.","$ref":"dates.schema.json#/definitions/date-of-birth"},"gender":{"description":"The gender","type":"string"},"azvNumber":{"description":"The AZV number.","type":"string"}},"required":[]},{"$id":"http://schema.setarcode.aw/member.schema.json","title":"Members - Member Object","description":"A member object.","type":"object","allOf":[{"$ref":"member-properties.schema.json"}],"extends":{"$ref":"member-properties.schema.json"},"required":["surname","givenNames","dateOfBirth","azvNumber"]},{"$id":"http://schema.setarcode.aw/member-migration.schema.json","title":"Members - Member Migration Object","description":"A member migration object.","type":"object","properties":{"migrationId":{"description":"The member migration id (patient case id).","type":"string"},"surname":{"description":"The surname.","type":"string"},"givenNames":{"description":"The given names.","type":"string"},"dateOfBirth":{"description":"The date of birth.","$ref":"dates.schema.json#/definitions/date-of-birth"},"gender":{"description":"The gender","type":"string"},"azvNumber":{"description":"The AZV number.","type":"string"},"email":{"description":"The member's email address.","type":"string"}},"required":["migrationId"]},{"$id":"http://schema.setarcode.aw/members-change-response.schema.json","title":"Members - Change Response","description":"A response members changes.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"array","items":{"$ref":"member.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/members-get-member-migrations-request.schema.json","title":"Members - Get Member-Migrations ","description":"A request to get member-migrations. This request must be sent to amq.topic:members.get-member-migration","type":"object","properties":{"subjectId":{"type":"string","description":"The subjectId of the member to get the member-migrations"},"replyPublicKey":{"type":"string","description":"The public key to encrypt the response"},"filterUnregisteredMembers":{"type":"boolean","default":true,"description":"Filter unregistered members. The resulting list will only contain members that have not been registered yet. (Optional, Default is true)"}},"required":["subjectId","replyPublicKey"]},{"$id":"http://schema.setarcode.aw/members-migration-change-response.schema.json","title":"Members - Member Migration Change Response","description":"A response member migration changes.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"array","items":{"$ref":"member-migration.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/vaccine-brand.schema.json","title":"Vaccines - Vaccine Brand Object","description":"A vaccine brand object.","type":"object","properties":{"id":{"description":"The unique identifier for a vaccine dose.","type":"number"},"brandName":{"description":"The brand name of the vaccine.","type":"string"},"defualtDosageAmount":{"description":"The default dosage amount for the vaccine.","type":"string"},"defualtVialAmount":{"description":"The default vial amount for the vaccine.","type":"string"},"isoSeriesMax":{"description":"The maximum number of doses in a series for the vaccine.","type":"number"},"isoVaccineProduct":{"description":"The vaccine product code.","type":"string"},"isoVaccineType":{"description":"The vaccine type code.","type":"string"},"isoVaccinemManufacturer":{"description":"The vaccine manufacturer code.","type":"string"}},"required":["id"]},{"$id":"http://schema.setarcode.aw/vaccine-certification-check.schema.json","title":"Vaccines - Vaccine Certification Check Object","description":"A vaccine certification chec object.","type":"object","properties":{"vaccineId":{"description":"The unique identifier of the related vaccine.","type":"number"},"result":{"type":"boolean","description":"The result of the certification check"}},"required":["vaccineId","result"]},{"$id":"http://schema.setarcode.aw/vaccine-certification.schema.json","title":"Vaccines - Vaccine Certification Object","description":"A vaccine certification object.","type":"object","properties":{"vaccineId":{"description":"The unique identifier of the related vaccine.","type":"number"},"data":{"type":"string","description":"The certification pdf data in base64 format"}},"required":["vaccineId","data"]},{"$id":"http://schema.setarcode.aw/vaccine-dose.schema.json","title":"Vaccines - Vaccine Dose Object","description":"A vaccine dose object.","type":"object","properties":{"id":{"description":"The unique identifier for a vaccine dose.","type":"number"},"insertDate":{"description":"The date the vaccine dose was inserted.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"givenBy":{"description":"The person who gave the vaccine dose.","type":"string"},"certifyBy":{"description":"The person who certified the vaccine dose.","type":"string"},"inventory":{"description":"The inventory of the vaccine dose.","$ref":"vaccine-inventory.schema.json"}},"required":["id"]},{"$id":"http://schema.setarcode.aw/vaccine-location.schema.json","title":"Vaccines - Vaccine Inventory Location Object","description":"A vaccine inventory location object.","type":"object","properties":{"id":{"description":"The unique identifier for the vaccine inventory location.","type":"number"},"name":{"description":"The name of the vaccine inventory location.","type":"string"},"address":{"description":"The address of the vaccine inventory location.","type":"string"},"openingTimes":{"description":"The opening times of the vaccine inventory location.","type":"string"},"dossageAllow":{"description":"The dossage allow of the vaccine inventory location.","type":"boolean"},"freezerType":{"description":"The freezer type of the vaccine inventory location.","$ref":"#/definitions/freezer-type"},"insertDate":{"description":"The date the vaccine inventory location was inserted.","$ref":"dates.schema.json#/definitions/utc-date-string-any"}},"definitions":{"freezer-type":{"description":"The freezer type of the vaccine inventory location.","type":"string","enum":["DEEP_FREEZE","FREEZER","COOLER"]}},"required":["id"]},{"$id":"http://schema.setarcode.aw/vaccine-inventory.schema.json","title":"Vaccines - Vaccine Inventory Object","description":"A vaccine inventory object.","type":"object","properties":{"id":{"description":"The unique identifier for the vaccine inventory object.","type":"number"},"accepted":{"description":"The date and time the inventory was accepted.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"acceptedBy":{"description":"The user who accepted the inventory.","type":"string"},"amountOfVials":{"description":"The amount of vials in the inventory.","type":"number"},"boxNumber":{"description":"The box number of the inventory.","type":"string"},"brand":{"description":"The brand of the vaccine.","$ref":"vaccine-brand.schema.json"},"createdBy":{"description":"The user who created the inventory.","type":"string"},"creation":{"description":"The date and time the inventory was created.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"currentDosageLevel":{"description":"The current dosage level of the inventory.","type":"number"},"dosagePerVial":{"description":"The dosage per vial of the inventory.","type":"number"},"location":{"description":"The location of the inventory.","$ref":"vaccine-location.schema.json"},"note":{"description":"A note about the inventory.","type":"string"},"parentInventory":{"description":"The parent inventory of the inventory.","$ref":"vaccine-inventory.schema.json"},"state":{"description":"The state of the inventory.","$ref":"#/definitions/inventory-state"},"totalStartDosage":{"description":"The total start dosage of the inventory.","type":"number"}},"definitions":{"inventory-state":{"description":"The state of the inventory.","type":"string","enum":["IN_TRANSFER","DELIVERED"]}},"required":["id"]},{"$id":"http://schema.setarcode.aw/vaccine-side-effect-questionnaire.schema.json","title":"Vaccines - Vaccine Side Effect Questionnaire","description":"A vaccine side effect questionnaire.","type":"object","properties":{"id":{"description":"The unique identifier for a vaccine dose.","type":"number"},"insertDate":{"description":"The date the questionnaire was inserted.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"data":{"description":"The questionnaire data.","type":"string"}},"required":["id"]},{"$id":"http://schema.setarcode.aw/vaccine.schema.json","title":"Vaccines - Vaccine Object","description":"A vaccine object.","type":"object","properties":{"id":{"description":"The unique identifier for a vaccine.","type":"number"},"enableDate":{"description":"The date the vaccine is enabled.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"enableBy":{"description":"The user who enabled the vaccine.","type":"string"},"certifyBy":{"description":"The user who certified the vaccine.","type":"string"},"suspend":{"description":"The date the vaccine is suspended.","type":"boolean"},"appointment1":{"description":"The date of the first appointment.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"appointment2":{"description":"The date of the second appointment.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"appointment3":{"description":"The date of the third appointment.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"appointment4":{"description":"The date of the fourth appointment.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"appointment5":{"description":"The date of the fifth appointment.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"appointment6":{"description":"The date of the sixth appointment.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"appointment7":{"description":"The date of the seventh appointment.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"appointment8":{"description":"The date of the eighth appointment.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"vaccine1":{"description":"The date of the first vaccine.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"vaccine2":{"description":"The date of the second vaccine.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"vaccine3":{"description":"The date of the third vaccine.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"vaccine4":{"description":"The date of the fourth vaccine.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"vaccine5":{"description":"The date of the fifth vaccine.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"vaccine6":{"description":"The date of the sixth vaccine.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"vaccine7":{"description":"The date of the seventh vaccine.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"vaccine8":{"description":"The date of the eighth vaccine.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"vaccine1Dose":{"description":"The dose of the first vaccine.","$ref":"vaccine-dose.schema.json"},"vaccine2Dose":{"description":"The dose of the second vaccine.","$ref":"vaccine-dose.schema.json"},"vaccine3Dose":{"description":"The dose of the third vaccine.","$ref":"vaccine-dose.schema.json"},"vaccine4Dose":{"description":"The dose of the fourth vaccine.","$ref":"vaccine-dose.schema.json"},"vaccine5Dose":{"description":"The dose of the fifth vaccine.","$ref":"vaccine-dose.schema.json"},"vaccine6Dose":{"description":"The dose of the sixth vaccine.","$ref":"vaccine-dose.schema.json"},"vaccine7Dose":{"description":"The dose of the seventh vaccine.","$ref":"vaccine-dose.schema.json"},"vaccine8Dose":{"description":"The dose of the eighth vaccine.","$ref":"vaccine-dose.schema.json"},"appointmentLocation":{"description":"The location of the appointment.","$ref":"vaccine-location.schema.json"},"sideEffectQuestionnaires":{"description":"The side effect questionnaires.","type":"array","items":{"$ref":"vaccine-side-effect-questionnaire.schema.json"}},"documentSha":{"description":"The SHA of the document.","type":"string"}},"required":["id"]},{"$id":"http://schema.setarcode.aw/vaccines-certification-change-response.schema.json","title":"Vaccines - Certification Change Response","description":"A response vaccine certification changes.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"properties":{"data":{"type":"array","items":{"$ref":"vaccine-certification.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/vaccines-change-response.schema.json","title":"Vaccines - Change Response","description":"A response vaccine changes.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"array","items":{"$ref":"vaccine.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/vaccines-get-certification-request.schema.json","title":"Keys - Get Vaccine Certification Request","description":"A request to get vaccine certification. This request must be sent to amq.topic:vaccines.get-certification","type":"object","allOf":[{"$ref":"base-request.schema.json"}],"properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"},"vaccineId":{"type":"integer","description":"The vaccine id"}},"required":["kid","vaccineId"]},{"$id":"http://schema.setarcode.aw/vaccines-get-request.schema.json","title":"Keys - Get Vaccine Request","description":"A request to get vaccine information. This request must be sent to amq.topic:vaccines.get","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"}},"required":["kid"]},{"$id":"http://schema.setarcode.aw/vaccines-certification-check-response.schema.json","title":"Vaccines - Check Certification Response","description":"A response for the the vaccine certification request. It is either true or false.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"properties":{"data":{"type":"object","$ref":"vaccine-certification-check.schema.json","description":"The result of the certification change."}},"required":["data"]},{"$id":"http://schema.setarcode.aw/vaccines-check-certification-request.schema.json","title":"Keys - Check If Vaccine Certification Can Be Created","description":"A request to check if a vaccine certification can be created. This request must be sent to amq.topic:vaccines.check-certification","type":"object","allOf":[{"$ref":"base-request.schema.json"}],"properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"},"vaccineId":{"type":"integer","description":"The vaccine id"}},"required":["kid","vaccineId"]},{"$id":"http://schema.setarcode.aw/appointment.schema.json","title":"Appointment - Appointment Object","description":"A Appointment object.","type":"object","properties":{"id":{"description":"The unique identifier for a Appointment.","type":"integer"},"startTimestamp":{"description":"The date and time the appointment starts.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"},"endTimestamp":{"description":"The date and time the appointment stops.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"},"title":{"description":"Title of the Appointment","type":"string"},"location":{"description":"Location where Appointment is planned","type":"string"},"geoTag":{"description":"Geo Tag of the location","type":"string"},"reasonDescription":{"description":"Description of the reason for the Appointment","type":"string"},"canBeCanceled":{"description":"Indicates if the Appointment can be canceled","type":"boolean"},"healthCareRole":{"description":"Health Care Role of the person who will be attending the Appointment","type":"string"}},"required":["id","startTimestamp","endTimestamp"]},{"$id":"http://schema.setarcode.aw/appointments-event-response.schema.json","title":"Appointments - List Response","description":"A response appointment list.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"array","items":{"$ref":"appointment.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/appointments-cancel-request.schema.json","title":"Appointments - Cancel Appointments Request","description":"A request to cancel an Appointment. This request must be sent to amq.topic:appointment.cancel","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"},"appointmentId":{"description":"The appointment ID of the appointment to cancel","type":"integer"}},"required":["kid","appointmentId"]},{"$id":"http://schema.setarcode.aw/appointments-get-request.schema.json","title":"Appointments - Get Appointments Request","description":"A request to get Appointment information. This request must be sent to amq.topic:appointment.get","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"}},"required":["kid"]},{"$id":"http://schema.setarcode.aw/appointments-create-request.schema.json","title":"Appointments - create appointment request","description":"A request to create an appointment. This request must be sent to amq.topic:appointment.reserve","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"},"reasonDescription":{"type":"string","description":"The date and time the appointment stops."},"startTime":{"description":"The date and time the appointment starts.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"},"endTime":{"description":"The date and time the appointment stops.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"},"videoLink":{"description":"The date and time the appointment stops.","type":"string"},"triageApiSessionId":{"description":"The triage API session ID to send the triage information to the GP.","type":"string"},"triageApiSessionToken":{"description":"The triage API session token to send the triage information to the GP.","type":"string"}},"required":["kid","startTime","endTime"]},{"$id":"http://schema.setarcode.aw/prescription.schema.json","title":"Prescription - prescription Object","description":"A prescription object.","type":"object","properties":{"id":{"description":"The unique identifier for a prescription.","type":"integer"},"startTimestamp":{"description":"The date the prescription starts.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"},"endTimestamp":{"description":"The date the prescription ends.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"},"name":{"description":"Medication name.","type":"string"},"quantity":{"description":"Amount of medication per unity.","type":"integer"},"usageText":{"description":"Text explaining how to use the medication.","type":"string"},"unity":{"description":"Unity of the medication.","type":"string"},"allowedToRepeat":{"description":"Indicates if the prescription can be repeated.","type":"boolean"},"repetitionStatus":{"description":"Status of the prescription repetition. Can be 'UNDEFINED', 'PENDING' or 'REJECTED'.","type":"string"}},"required":["id","startTimestamp","endTimestamp","name","quantity","unity"]},{"$id":"http://schema.setarcode.aw/prescriptions-event-response.schema.json","title":"Prescriptions - List Response","description":"A response of prescription list.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"array","items":{"$ref":"prescription.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/prescriptions-get-request.schema.json","title":"Prescriptions - Get prescriptions request","description":"A request to get prescriptions information. This request must be sent to amq.topic:prescription.get","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"}},"required":["kid"]},{"$id":"http://schema.setarcode.aw/prescription-refill-request.schema.json","title":"Prescriptions - Refill prescription request","description":"A request in order to refill a prescription. This request must be sent to amq.topic:prescription.refill","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"},"prescriptionId":{"type":"integer","description":"The prescription id to get information from."},"description":{"type":"string","description":"Reason for refill."}},"required":["kid","prescriptionId","description"]},{"$id":"http://schema.setarcode.aw/timeslot.schema.json","title":"Timeslot - Timeslot Object","description":"A Timeslot object.","type":"object","properties":{"type":{"description":"Description of the type of meeting purpose","$ref":"#/definitions/timeslot-types"},"startTime":{"description":"The date and time the timeslot starts.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"},"endTime":{"description":"The date and time the timeslot stops.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"}},"definitions":{"timeslot-types":{"type":"string","enum":["consultation","visit","phoneCall","meeting","free","other","videoConsultation"],"javaEnumNames":["consultation","visit","phoneCall","meeting","free","other","videoConsultation"]}},"required":["type","startTime","endTime"]},{"$id":"http://schema.setarcode.aw/timeslots-event-response.schema.json","title":"Timeslots - List Response","description":"A response timeslot list.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"array","items":{"$ref":"timeslot.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/timeslots-get-request.schema.json","title":"Timeslots - Get Timeslots Request","description":"A request to get timeslot information. This request must be sent to amq.topic:timeslot.get","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"},"dateRangeStartTime":{"description":"The date and time range for timeslot starts.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"},"dateRangeEndTime":{"description":"The date and time range for timeslot ends.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"}},"required":["kid"]},{"$id":"http://schema.setarcode.aw/notification-create-request.schema.json","title":"notifications - create notification request","description":"A request to create an notification.","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"},"title":{"type":"string","description":"The notification title."},"message":{"type":"string","description":"The notification message."},"reasonId":{"type":"integer","description":"The reason id of the notification. This ID should be entered by the user in AHE-config."}},"required":["kid","message"]},{"$id":"http://schema.setarcode.aw/notification.schema.json","title":"Notifications - Notification Object","description":"A notification object.","type":"object","properties":{"id":{"description":"The notification id.","type":"string"},"createdTimestamp":{"description":"The notification creation date.","$ref":"dates.schema.json#/definitions/utc-date-string-millis"},"title":{"description":"The notification title.","type":"string"},"message":{"description":"The notification message.","type":"string"}},"required":["id","createdTimestamp","message"]},{"$id":"http://schema.setarcode.aw/notifications-change-response.schema.json","title":"Notifications - Change Response","description":"A response for notification changes.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"array","items":{"$ref":"notification.schema.json"}}},"required":["data"]},{"$id":"http://schema.setarcode.aw/practitioner-event-response.schema.json","title":"Practitioner - Response","description":"A response practitioner.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"type":"object","properties":{"generalPractitionerAgbCode":{"type":"string","description":"AGB code"},"linkStatus":{"description":"Link status of the practitioner office","$ref":"#/definitions/link-status-types"},"rejectedReason":{"type":"string","description":"Reason for rejection by the practitioner office"}}}},"definitions":{"link-status-types":{"type":"string","enum":["approved","rejected","pending"],"javaEnumNames":["approved","rejected","pending"]}},"required":["data"]},{"$id":"http://schema.setarcode.aw/practitioner-set-request.schema.json","title":"Practitioner - Set Request","description":"A request to set the practitioner.","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"},"generalPractitionerAgbCode":{"type":"string","description":"AGB code"}},"required":["kid","generalPractitionerAgbCode"]},{"$id":"http://schema.setarcode.aw/health-card.schema.json","title":"Health Card - Health Card Object","description":"A health card object.","type":"object","properties":{"id":{"description":"The unique identifier for a health card.","type":"string"},"fullName":{"description":"The full name of the member.","type":"string"},"idNumber":{"description":"The members cedula id number.","type":"string"},"validUntilDate":{"description":"The date until the health card is valid.","$ref":"dates.schema.json#/definitions/utc-date-string-any"},"qrCodeLink":{"description":"The link that the health card's quick response code should display.","type":"string"}},"required":["id","fullName","idNumber","validUntilDate","qrCodeLink"]},{"$id":"http://schema.setarcode.aw/health-card-certification.schema.json","title":"Health Card - Health Card Certification Object","description":"A health card certification object.","type":"object","properties":{"healthCardId":{"description":"The unique identifier of the related health card.","type":"string"},"data":{"type":"string","description":"The certification pdf data in base64 format"}},"required":["healthCardId","data"]},{"$id":"http://schema.setarcode.aw/health-card-change-response.schema.json","title":"Health Card - Change Response","description":"A response health card changes.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"extends":{"$ref":"base-response.schema.json"},"properties":{"data":{"description":"The health card change object or null if not set.","anyOf":[{"$ref":"health-card.schema.json"},{"type":"null"}]}},"required":["data"]},{"$id":"http://schema.setarcode.aw/health-card-get-certification-request.schema.json","title":"Health Card - Get Health Card Certification Request","description":"A request to get health card certification. This request must be sent to amq.topic:health-card.get-certification","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"}},"required":["kid"]},{"$id":"http://schema.setarcode.aw/health-card-get-request.schema.json","title":"Health Card - Get Health Card Request","description":"A request to get health card information. This request must be sent to amq.topic:health-card.get","type":"object","properties":{"kid":{"type":"string","$ref":"key.schema.json#/definitions/kid"}},"required":["kid"]},{"$id":"http://schema.setarcode.aw/health-card-certification-change-response.schema.json","title":"Health Card - Certification Change Response","description":"A response health card certification changes.","type":"object","allOf":[{"$ref":"base-response.schema.json"}],"properties":{"data":{"type":["object","null"],"description":"The health card certification change object or null if not set.","anyOf":[{"$ref":"health-card-certification.schema.json"},{"type":"null"}]}},"required":["data"]}]