import {z} from 'zod' export type GetApiContactsAllSinceSizeLastSynchronizedUuidArgs = {since: number, size: number, lastSynchronizedUuid: string}; export type GetApiContactsAllSinceSizeLastSynchronizedUuidOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; export const caseReferenceDto = z.object({caption: z.string().optional(), firstName: z.string().optional(), lastName: z.string().optional(), uuid: z.string()}); export const communityReferenceDto = z.object({caption: z.string().optional(), externalId: z.string().optional(), uuid: z.string()}); export const userReferenceDto = z.object({caption: z.string().optional(), firstName: z.string().optional(), lastName: z.string().optional(), uuid: z.string()}); export const diseaseVariant = z.object({allProperties: z.object({}).optional(), caption: z.string().optional(), hasDetails: z.boolean().optional(), properties: z.record(z.string(), z.object({})).optional(), value: z.string().optional()}); export const districtReferenceDto = z.object({caption: z.string().optional(), externalId: z.string().optional(), uuid: z.string()}); export const continentReferenceDto = z.object({caption: z.string().optional(), externalId: z.string().optional(), uuid: z.string()}); export const countryReferenceDto = z.object({caption: z.string().optional(), externalId: z.string().optional(), isoCode: z.string().optional(), uuid: z.string()}); export const facilityReferenceDto = z.object({caption: z.string().optional(), externalId: z.string().optional(), uuid: z.string()}); export const regionReferenceDto = z.object({caption: z.string().optional(), externalId: z.string().optional(), uuid: z.string()}); export const subcontinentReferenceDto = z.object({caption: z.string().optional(), externalId: z.string().optional(), uuid: z.string()}); export const locationDto = z.object({additionalInformation: z.string().max(255).optional(), addressType: z.enum(["HOME", "PLACE_OF_RESIDENCE", "PLACE_OF_EXPOSURE", "PLACE_OF_WORK", "PLACE_OF_ISOLATION", "EVENT_LOCATION", "OTHER_ADDRESS"]).optional(), addressTypeDetails: z.string().max(255).optional(), areaType: z.enum(["URBAN", "RURAL", "UNKNOWN"]).optional(), changeDate: z.string().optional(), city: z.string().max(512).optional(), community: communityReferenceDto.optional(), contactPersonEmail: z.string().max(1000000).optional(), contactPersonFirstName: z.string().max(1000000).optional(), contactPersonLastName: z.string().max(1000000).optional(), contactPersonPhone: z.string().max(1000000).optional(), continent: continentReferenceDto.optional(), country: countryReferenceDto.optional(), creationDate: z.string().optional(), details: z.string().max(512).optional(), district: districtReferenceDto.optional(), facility: facilityReferenceDto.optional(), facilityDetails: z.string().max(512).optional(), facilityType: z.enum(["ASSOCIATION", "BUSINESS", "BAR", "CAMPSITE", "CANTINE", "CHILDRENS_DAY_CARE", "CHILDRENS_HOME", "CORRECTIONAL_FACILITY", "CRUISE_SHIP", "ELDERLY_DAY_CARE", "EVENT_VENUE", "FOOD_STALL", "HOLIDAY_CAMP", "HOMELESS_SHELTER", "HOSPITAL", "HOSTEL", "HOTEL", "KINDERGARTEN", "LABORATORY", "MASS_ACCOMMODATION", "MILITARY_BARRACKS", "MOBILE_NURSING_SERVICE", "NIGHT_CLUB", "OTHER_ACCOMMODATION", "OTHER_CARE_FACILITY", "OTHER_CATERING_OUTLET", "OTHER_EDUCATIONAL_FACILITY", "OTHER_LEISURE_FACILITY", "OTHER_MEDICAL_FACILITY", "OTHER_RESIDENCE", "OTHER_WORKING_PLACE", "OTHER_COMMERCE", "OUTPATIENT_TREATMENT_FACILITY", "PLACE_OF_WORSHIP", "PUBLIC_PLACE", "REFUGEE_ACCOMMODATION", "REHAB_FACILITY", "RESTAURANT", "RETIREMENT_HOME", "RETAIL", "WHOLESALE", "SCHOOL", "SWIMMING_POOL", "THEATER", "UNIVERSITY", "ZOO", "AMBULATORY_SURGERY_FACILITY", "DIALYSIS_FACILITY", "DAY_HOSPITAL", "MATERNITY_FACILITY", "MEDICAL_PRACTICE", "DENTAL_PRACTICE", "OTHER_MEDICAL_PRACTICE", "DIAGNOSTIC_PREVENTATIVE_THERAPEUTIC_FACILITY", "EMERGENCY_MEDICAL_SERVICES", "ELDERLY_CARE_FACILITY", "DISABLED_PERSON_HABITATION", "CARE_RECIPIENT_HABITATION", "VISITING_AMBULATORY_AID", "AFTER_SCHOOL"]).optional(), houseNumber: z.string().max(255).optional(), inJurisdiction: z.boolean().optional(), latLonAccuracy: z.number().optional(), latitude: z.number().gte(-90).lte(90).optional(), longitude: z.number().gte(-180).lte(180).optional(), postalCode: z.string().max(512).optional(), pseudonymized: z.boolean().optional(), region: regionReferenceDto.optional(), street: z.string().max(4096).optional(), subcontinent: subcontinentReferenceDto.optional(), uuid: z.string().min(20).max(36).optional()}); export const activityAsCaseDto = z.object({activityAsCaseType: z.enum(["WORK", "TRAVEL", "SPORT", "VISIT", "GATHERING", "HABITATION", "PERSONAL_SERVICES", "CARED_FOR", "OTHER", "BLOOD_DONATION", "BONE_MARROW_DONATION", "UNKNOWN"]), activityAsCaseTypeDetails: z.string().max(1000000).optional(), changeDate: z.string().optional(), connectionNumber: z.string().max(512).optional(), creationDate: z.string().optional(), description: z.string().max(1000000).optional(), endDate: z.string().optional(), gatheringDetails: z.string().max(1000000).optional(), gatheringType: z.enum(["PARTY", "RELIGIOUS", "MUSICAL", "CONCERT", "DEMONSTRATION", "CARNIVAL", "FAIR", "SPORTING_EVENT", "OTHER"]).optional(), habitationDetails: z.string().max(1000000).optional(), habitationType: z.enum(["MEDICAL", "OTHER"]).optional(), inJurisdiction: z.boolean().optional(), location: locationDto.optional(), meansOfTransport: z.enum(["LOCAL_PUBLIC_TRANSPORT", "BUS", "FERRY", "PLANE", "TRAIN", "OTHER"]).optional(), meansOfTransportDetails: z.string().max(1000000).optional(), pseudonymized: z.boolean().optional(), reportingUser: userReferenceDto.optional(), role: z.enum(["PASSENGER", "STAFF", "NURSING_STAFF", "MEDICAL_STAFF", "VISITOR", "GUEST", "CUSTOMER", "CONSERVATEE", "PATIENT", "EDUCATOR", "TRAINEE_TEACHER", "PUPIL", "STUDENT", "PARENT", "TEACHER", "UNKNOWN", "OTHER"]).optional(), seatNumber: z.string().max(512).optional(), startDate: z.string().optional(), typeOfPlace: z.enum(["FACILITY", "FACILITY_23_IFSG", "COMMUNITY_FACILITY", "FACILITY_36_IFSG", "FESTIVITIES", "HOME", "MEANS_OF_TRANSPORT", "PUBLIC_PLACE", "SCATTERED", "SCHOOL", "EDUCATION_AND_CHILDCARE", "NURSING_HOME", "ASYLUM_SEEKERS_SHELTER", "UNKNOWN", "OTHER"]).optional(), typeOfPlaceDetails: z.string().max(1000000).optional(), uuid: z.string().min(20).max(36).optional(), workEnvironment: z.enum(["UNKNOWN", "OPEN_SPACE_OFFICE", "FOOD_SECTOR", "BUILDING_SECTOR", "LOGISTICS_CENTER", "OTHER"]).optional()}); export const personName = z.object({firstName: z.string().optional(), lastName: z.string().optional()}); export const contactReferenceDto = z.object({caption: z.string().optional(), caze: caseReferenceDto.optional(), contactName: personName.optional(), uuid: z.string()}); export const exposureDto = z.object({animalCategory: z.enum(["DOMESTIC", "WILD"]).optional(), animalCategoryDetails: z.string().optional(), animalCondition: z.enum(["ALIVE", "DEAD", "PROCESSED", "UNKNOWN"]).optional(), animalContactType: z.enum(["BITE", "TOUCH", "SCRATCH", "LICK", "OTHER"]).optional(), animalContactTypeDetails: z.string().max(1000000).optional(), animalLocation: z.enum(["ZOO", "FARM", "PARK", "FOREST", "OTHER"]).optional(), animalLocationText: z.string().max(1000000).optional(), animalMarket: z.enum(["YES", "NO", "UNKNOWN"]).optional(), animalVaccinated: z.enum(["YES", "NO", "UNKNOWN"]).optional(), bodyOfWater: z.enum(["YES", "NO", "UNKNOWN"]).optional(), changeDate: z.string().optional(), childcareFacilityDetails: z.string().max(1000000).optional(), conditionOfAnimal: z.enum(["ALIVE", "DEAD", "PROCESSED", "UNKNOWN"]).optional(), connectionNumber: z.string().max(512).optional(), contactFactorDetails: z.string().optional(), contactFactors: z.array(z.enum(["DURATION_OF_EXPOSURE", "PROXIMITY_TO_SOURCE", "TYPE_OF_ACTIVITY", "POOR_VENTILATION", "PROXIMITY_AND_DURATION", "WIND_AND_AIRFLOW", "DENSITY_OF_PEOPLE", "CLOSE_CONTACT", "PROLONGED_CONTACT", "SKIN_TO_SKIN_CONTACT", "CONTACT_WITH_SECRETIONS_BODY_FLUIDS", "SHARED_ACCOMMODATION_ACTIVITIES", "SKIN_CONTACT", "BODY_FLUIDS", "CLOSE_OR_PROLONGED_CONTACT", "SHARED_ACCOMMODATION_ACTIVITIES_PERSON", "BUTCHERING", "COOKING", "TOUCHING_CONTACT_WITH_FLUIDS", "SCRATCHES_BITES_LICKING", "HANDLING", "FEEDING", "CLEANING_PROVIDING_CARE", "SHARED_SURFACES", "OUTDOOR_ACTIVITIES", "STANDING_WATER_PROXIMITY", "HIGH_MOSQUITO_ACTIVITY_REGIONS", "UNPROTECTED_HOUSEHOLD", "MOSQUITO_ACTIVITY_TIME_OF_DAY", "CLOTHING_COVERAGE", "DURATION_OUTDOORS", "EXPOSED_SKIN", "REPEATED_BITES", "INDOOR_EXPOSURE", "OUTDOOR_EXPOSURE", "NIGHT_TIME_EXPOSURE", "VEGETATION", "PROLONGED_FREQUENT_EXPOSURE", "AREA_HIGH_RISK_TRANSMISSION", "DRINKING_CONTAMINATED_WATER", "ICE_AND_FOOD_PREPARATION", "SWALLOWING_WATER", "CONTACT_WITH_OPEN_WOUNDS", "CONTACT_WITH_WASTEWATER", "CONTACT_WITH_FLOODWATER", "IMMERSION", "ACCIDENTAL_INGESTION", "SWIMMING_BATHING", "WATER_SPORTS", "EGG", "MEAT", "FISH_SEAFOOD", "DAIRY", "FRUIT", "RAW_VEGETABLES", "CONSUMED", "TASTED", "HANDLED", "PREPARED", "SHARED_MEAL", "RAW_UNDERCOOKED_CONSUMPTION", "INADEQUATE_STORAGE_TEMPERATURE", "SKIN_CONTACT_ENV", "INHALATION", "OUTDOOR_EXPOSURE_ENV", "WOUND_CONTAMINATION", "HANDLING_ENV", "OCCUPATIONAL_EXPOSURE_ENV", "INJECTION", "NEEDLESTICK", "TRANSFUSION_EXPOSURE", "TRANSPLANTATION", "SHARING_NEEDLES_SYRINGES", "INVASIVE_PROCEDURE", "PERCUTANEOUS_EXPOSURE", "MUCOSAL", "VAGINAL", "ANAL", "ORAL", "GENITAL_CONTACT", "SKIN_TO_SKIN", "MULTIPLE_PARTNERS", "ANONYMOUS_PARTNER", "TRANSACTIONAL_SEX", "BEING_A_SEX_WORKER", "CONTACT_WITH_SEX_WORKER", "UNKNOWN", "OTHER"])).optional(), contactToBodyFluids: z.enum(["YES", "NO", "UNKNOWN"]).optional(), contactToCase: contactReferenceDto.optional(), creationDate: z.string().optional(), deceasedPersonIll: z.enum(["YES", "NO", "UNKNOWN"]).optional(), deceasedPersonName: z.string().max(512).optional(), deceasedPersonRelation: z.string().max(512).optional(), description: z.string().max(1000000).optional(), domesticSwimming: z.enum(["YES", "NO", "UNKNOWN"]).optional(), eatingRawAnimalProducts: z.enum(["YES", "NO", "UNKNOWN"]).optional(), endDate: z.string().optional(), exposureCategory: z.enum(["AIR_BORNE", "DIRECT_CONTACT", "MEDICAL_CARE", "LAB", "RESPIRATORY_DROPLET", "ANIMAL_CONTACT", "FOMITE_TRANSMISSION", "FOOD_BORNE", "VECTOR_BORNE", "VERTICAL_TRANSMISSION", "WATER_BORNE", "RESPIRATORY", "PERSON_TO_PERSON", "ENVIRONMENTAL", "BLOOD_PARENTERAL", "SEXUAL", "UNKNOWN", "OTHER"]).optional(), exposureComment: z.string().optional(), exposureRole: z.enum(["PASSENGER", "STAFF", "NURSING_STAFF", "MEDICAL_STAFF", "VISITOR", "GUEST", "CUSTOMER", "CONSERVATEE", "PATIENT", "EDUCATOR", "TRAINEE_TEACHER", "PUPIL", "STUDENT", "PARENT", "TEACHER", "UNKNOWN", "OTHER"]).optional(), exposureSetting: z.enum(["INDOOR", "OUTDOOR", "PERSON_TO_PERSON", "OTHER_DIRECT_CONTACT", "MOSQUITO_BORNE", "TICK_BORNE", "HOUSEHOLD_SHARED_ACCOMMODATION", "SCHOOL_CHILDCARE", "WORKPLACE", "GATHERING_EVENT", "HEALTHCARE", "TRANSPORT", "HEALTHCARE_INSTITUTIONAL", "URBAN_RESIDENTIAL", "RURAL_AGRICULTURAL", "FOREST_NATURAL", "WORKING_AT_AN_AIRPORT", "DRINKING_WATER", "RECREATIONAL_WATER", "HOUSEHOLD", "OCCUPATIONAL_ENVIRONMENTAL", "EATING_OUTSIDE", "HOTEL", "CAMPING_SITE", "RENTED_APARTMENT_HOUSE", "FRIENDS_FAMILY", "PREGNANCY_OR_DELIVERY", "BREASTFEEDING", "NATURAL_ENVIRONMENT", "OCCUPATIONAL_ENVIRONMENT", "CONTAMINATED_PREMISES", "TRANSFUSION", "ORGAN_TISSUE_TRANSPLANTATION", "INJECTION_DRUG_USE", "HEALTHCARE_PROCEDURE", "OCCUPATIONAL_EXPOSURE", "HOUSEHOLD_PRIVATE_RESIDENCE", "HOUSEHOLD_OTHER_COUNTRY", "GATHERING_SOCIAL_SETTING", "LARGE_EVENT_WITH_SEXUAL_CONTACT", "OTHER", "UNKNOWN"]).optional(), exposureSettingDetails: z.string().optional(), exposureSubSettingDetails: z.string().optional(), exposureType: z.enum(["WORK", "TRAVEL", "SPORT", "VISIT", "GATHERING", "HABITATION", "PERSONAL_SERVICES", "CHILDCARE_FACILITY", "BURIAL", "ANIMAL_CONTACT", "RECREATIONAL_WATER", "FOOD", "SEXUAL_CONTACT", "SYMPTOMATIC_CONTACT", "FLOOD_EXPOSURE", "OTHER", "UNKNOWN"]), exposureTypeDetails: z.string().max(1000000).optional(), fomiteTransmissionLocation: z.enum(["INSIDE_HOME", "OUTSIDE"]).optional(), gatheringDetails: z.string().max(1000000).optional(), gatheringType: z.enum(["PARTY", "RELIGIOUS", "MUSICAL", "CONCERT", "DEMONSTRATION", "CARNIVAL", "FAIR", "SPORTING_EVENT", "OTHER"]).optional(), habitationDetails: z.string().max(1000000).optional(), habitationType: z.enum(["MEDICAL", "OTHER"]).optional(), handlingAnimals: z.enum(["YES", "NO", "UNKNOWN"]).optional(), handlingSamples: z.enum(["YES", "NO", "UNKNOWN"]).optional(), inJurisdiction: z.boolean().optional(), indoors: z.enum(["YES", "NO", "UNKNOWN"]).optional(), internationalSwimming: z.enum(["YES", "NO", "UNKNOWN"]).optional(), largeAttendanceNumber: z.enum(["YES", "NO", "UNKNOWN"]).optional(), location: locationDto.optional(), longFaceToFaceContact: z.enum(["YES", "NO", "UNKNOWN"]).optional(), meansOfTransport: z.enum(["LOCAL_PUBLIC_TRANSPORT", "BUS", "FERRY", "PLANE", "TRAIN", "OTHER"]).optional(), meansOfTransportDetails: z.string().max(1000000).optional(), otherProtectiveMeasures: z.enum(["YES", "NO", "UNKNOWN"]).optional(), outdoors: z.enum(["YES", "NO", "UNKNOWN"]).optional(), percutaneous: z.enum(["YES", "NO", "UNKNOWN"]).optional(), physicalContactDuringPreparation: z.enum(["YES", "NO", "UNKNOWN"]).optional(), physicalContactWithBody: z.enum(["YES", "NO", "UNKNOWN"]).optional(), probableInfectionEnvironment: z.boolean().optional(), prophylaxis: z.enum(["YES", "NO", "UNKNOWN"]).optional(), prophylaxisAdherence: z.enum(["PROPHYLAXIS_COMPLETED", "PROPHYLAXIS_PARTIAL", "PROPHYLAXIS_NOT_STARTED", "PROPHYLAXIS_NOT_PRESCRIBED", "OTHER", "UNKNOWN"]).optional(), prophylaxisAdherenceDetails: z.string().max(1000000).optional(), prophylaxisDate: z.string().optional(), protectiveMeasureDetails: z.string().optional(), protectiveMeasures: z.array(z.enum(["WEARING_MASK", "DISTANCE_1_5M", "PHYSICAL_DISTANCING", "FACE_TO_FACE_15MIN", "VENTILATION_HEPA", "HAND_HYGIENE", "AVOID_TOUCHING_FACE", "SAFE_SEX", "WEARING_PPE", "VACCINATION", "CLEANING", "DISINFECTION", "VACCINATION_ANIMAL", "VACCINATION_CASE", "HAND_WASHING", "WOUND_WASHING", "HAND_OR_WOUND_HYGIENE", "INSECT_REPELLENT", "HERBS", "COILS", "SLEEPING_UNDER_BEDNET", "INDOOR_SPRAYING", "AIR_CONDITION", "PROTECTIVE_CLOTHING", "ENVIRONMENTAL_CONTROL", "TICK_PREVENTION", "REGULAR_CHECKS", "WATER_PURIFICATION", "SAFE_WATER_SOURCES", "AVOID_RAW_FOODS", "NO_SWIMMING_CONTAMINATED", "SHOWER_AFTER_SWIMMING", "WOUND_COVERAGE", "BATHING_CONTAMINATED_WATER", "AVOIDING_INGESTION", "HYGIENE", "WELL_COOKED", "COLD_HOT_CHAIN", "WASHED", "EXCLUSION_DIET_YERSINIOSIS", "MEDICATION", "C_SECTION", "SAFE_DELIVERY", "BREASTFEEDING_PRECAUTIONS", "AVOIDANCE", "GLOVES", "SAFE_INJECTION", "SHARPS_SAFETY", "BLOOD_SCREENING", "CONDOM_BARRIER", "PARTNER_NOTIFICATION", "STI_PREVENTION", "UNKNOWN", "OTHER"])).optional(), protectiveMeasuresDetails: z.string().max(1000000).optional(), pseudonymized: z.boolean().optional(), rawFoodContact: z.enum(["YES", "NO", "UNKNOWN"]).optional(), rawFoodContactText: z.string().max(1000000).optional(), reportingUser: userReferenceDto.optional(), riskArea: z.enum(["YES", "NO", "UNKNOWN"]).optional(), seatNumber: z.string().max(512).optional(), sexualContact: z.enum(["MALE", "FEMALE", "BOTH", "NOT_ANSWERED", "UNKNOWN", "OTHER"]).optional(), sexualExposureText: z.string().max(1000000).optional(), shoppingForFoodDetails: z.string().max(512).optional(), shortDistance: z.enum(["YES", "NO", "UNKNOWN"]).optional(), startDate: z.string().optional(), subSettings: z.array(z.enum(["CLOSED_POORLY_VENTILATED", "SHARED_HIGH_OCCUPANCY", "ENCLOSED_LIMITED_CIRCULATION", "VEHICLES", "HEALTHCARE_SETTINGS", "TEMPORARY_SHELTERS", "CROWDED_OUTDOOR_LIMITED_AIRFLOW", "CLOSE_PHYSICAL_CONTACT", "HIGH_TOUCH_ENVIRONMENTS", "SEXUAL_ACTIVITY", "BLOOD_TRANSFUSION_RECIPIENT", "BONE_MARROW_TRANSPLANT_RECIPIENT", "STANDING_WATER_AREAS", "HIGH_MOSQUITO_ACTIVITY_REGIONS", "TRAVELED_ABROAD", "FORESTED_GRASSY_RURAL", "WILDLIFE_RESERVOIR_AREAS", "SYMPTOMATIC_RESPIRATORY_CASE", "RESPIRATORY_SECRETIONS_DROPLETS", "AEROSOLS", "SHARED_INDOOR_ENVIRONMENT", "SYMPTOMATIC_CONFIRMED_CASE", "ASYMPTOMATIC_PERSON", "HOUSEHOLD_MEMBER", "COLLEAGUE_CLASSMATE", "CAREGIVER", "OTHER_PERSON", "PUBLIC_POOL", "PRIVATE_POOL", "LAKE", "RIVER", "OCEAN", "WATER_PARK", "EATING_AT_HOME", "EATING_OUTSIDE", "HOUSEHOLD_CONTACT", "SHOPPING_FOR_FOOD", "UNKNOWN", "OTHER"])).optional(), swimmingLocation: z.enum(["PUBLIC", "PRIVATE", "LAKE", "RIVER", "OCEAN", "WATER_PARK", "OTHER"]).optional(), swimmingLocationType: z.string().max(512).optional(), symptomaticIndividualText: z.string().max(1000000).optional(), travelAccommodation: z.enum(["HOTEL", "CAMPING", "RENTED_APARTMENT_OR_HOUSE", "FRIENDS_OR_FAMILY", "OTHER"]).optional(), travelAccommodationType: z.string().max(512).optional(), travelPurpose: z.enum(["BUSINESS", "VISITING_FAMILY_FRIENDS", "MIGRATION", "MILITARY", "HUMANITARIAN_MISSION", "TRAVELER_FROM_ENDEMIC_COUNTRY", "STUDENT", "TOURISM", "OTHER", "UNKNOWN"]).optional(), travelPurposeDetails: z.string().max(1000000).optional(), typeOfAnimal: z.enum(["BAT", "POULTRY", "CAMEL", "CANIDAE", "CAT", "CATTLE", "DOG", "PRIMATE", "SNAKE", "SWINE", "RABBIT", "RODENT", "TICK", "FLEA", "BIRDS", "GOAT", "HORSE", "SHEEP", "OTHER"]).optional(), typeOfAnimalDetails: z.string().max(1000000).optional(), typeOfChildcareFacility: z.enum(["NURSERY_CRECHE", "NURSERY_SCHOOL", "CHILDMINDER_CENTER", "CHILDCARE_CENTER", "SCHOOL", "OTHER"]).optional(), typeOfPlace: z.enum(["FACILITY", "FACILITY_23_IFSG", "COMMUNITY_FACILITY", "FACILITY_36_IFSG", "FESTIVITIES", "HOME", "MEANS_OF_TRANSPORT", "PUBLIC_PLACE", "SCATTERED", "SCHOOL", "EDUCATION_AND_CHILDCARE", "NURSING_HOME", "ASYLUM_SEEKERS_SHELTER", "UNKNOWN", "OTHER"]).optional(), typeOfPlaceDetails: z.string().max(1000000).optional(), uuid: z.string().min(20).max(36).optional(), waterSource: z.enum(["PIPE_NETWORK", "COMMUNITY_BOREHOLE_WELL", "PRIVATE_BOREHOLE_WELL", "STREAM", "OTHER"]).optional(), waterSourceDetails: z.string().max(1000000).optional(), wearingMask: z.enum(["YES", "NO", "UNKNOWN"]).optional(), wearingPpe: z.enum(["YES", "NO", "UNKNOWN"]).optional(), workEnvironment: z.enum(["UNKNOWN", "OPEN_SPACE_OFFICE", "FOOD_SECTOR", "BUILDING_SECTOR", "LOGISTICS_CENTER", "OTHER"]).optional()}); export const epiDataDto = z.object({activitiesAsCase: z.array(activityAsCaseDto).optional(), activityAsCaseDetailsKnown: z.enum(["YES", "NO", "UNKNOWN"]).optional(), airportWorker: z.enum(["YES", "NO", "UNKNOWN"]).optional(), areaInfectedAnimals: z.enum(["YES", "NO", "UNKNOWN"]).optional(), caseImportedStatus: z.enum(["IMPORTED_CASE", "IMPORT_RELATED_CASE", "UNKNOWN_IMPORTATION_STATUS", "NOT_IMPORTED_CASE"]).optional(), changeDate: z.string().optional(), clusterIdentifier: z.string().max(512).optional(), clusterRelated: z.boolean().optional(), clusterType: z.enum(["KINDERGARTEN_OR_CHILDCARE", "FAMILY", "MILITARY", "NOSOCOMIAL", "SCHOOL", "SPORTS_TEAM", "UNIVERSITY", "NOT_APPLICABLE", "UNKNOWN", "OTHER"]).optional(), clusterTypeText: z.string().optional(), contactWithSexWorker: z.enum(["YES", "NO", "UNKNOWN"]).optional(), contactWithSourceCaseKnown: z.enum(["YES", "NO", "UNKNOWN"]).optional(), country: countryReferenceDto.optional(), creationDate: z.string().optional(), exposureDetailsKnown: z.enum(["YES", "NO", "UNKNOWN"]).optional(), exposures: z.array(exposureDto).optional(), healthcareProfessional: z.enum(["YES", "NO", "UNKNOWN"]).optional(), highTransmissionRiskArea: z.enum(["YES", "NO", "UNKNOWN"]).optional(), importedCase: z.enum(["YES", "NO", "UNKNOWN"]).optional(), inJurisdiction: z.boolean().optional(), infectionSource: z.array(z.enum(["FOOD", "ANIMAL", "BAKERY_PRODUCTS", "BATS_CONTACT", "BOVINE_MEAT_PRODUCTS", "BROILER_MEAT_PRODUCTS", "CANNED_FOOD_PRODUCTS", "CATS_CONTACT", "CEREAL_PRODUCTS", "CHEESE", "NON_CHEESES_DAIRY_PRODUCTS", "DOGS_CONTACT", "DRINKS_BOTTLED_WATER", "EGG_PRODUCTS", "EXOTIC_PET_CONTACT", "DOMESTIC_PET_CONTACT", "FARM_ANIMAL_CONTACT", "OTHER_ANIMAL_CONTACT", "RAW_MILK_PRODUCTS", "FISH_PRODUCTS", "FOX_CONTACT", "FRUITS_AND_JUICES", "GAME_MEAT_NOT_WILD_BOAR", "HERBS_AND_SPICES", "MILK", "BUFFET_MEALS", "MIXED_MEAT_PRODUCTS", "OTHER_FOODS", "OTHER_MEAT_PRODUCTS", "OTHER_PET_CONTACT", "UNSPECIFIED_POULTRY", "OTHER_WILD_ANIMAL_CONTACT", "PORK_PRODUCTS", "SHEEP_MEAT_PRODUCTS", "SHELLFISH_PRODUCTS", "Sprouts", "confectionery", "TAP_AND_WELL_WATER", "TURKEY_MEAT_PRODUCTS", "JUICE_AND_VEGETABLE_PRODUCTS", "WILD_BOAR_MEAT_PRODUCTS", "UNKNOWN", "NOT_UND_SURV", "NOT_APPLICABLE", "OTHER"])).optional(), infectionSourceText: z.string().optional(), largeOutbreaksArea: z.enum(["YES", "NO", "UNKNOWN"]).optional(), modeOfTransmission: z.enum(["ANIMAL_TO_HUMAN", "FOOD_OR_WATER", "PERSON_TO_PERSON", "RECREATIONAL_WATER", "HEALTHCARE_ASSOCIATED", "INJECTING_DRUG_USERS", "LAB_OCCUPATIONAL_EXPOSURE", "MOTHER_TO_CHILD", "SEXUAL", "TRANSFUSION_RECIPIENT", "ORGAN_RECIPIENT", "MOSQUITOES_FROM_ENDEMIC_COUNTRY", "MOSQUITOES_BY_AIR", "MEDICAL_CARE", "MOSQUITOES_WITH_STRONG_EPI_EVIDENCE", "MOSQUITOES_WITHOUT_EVIDENCE", "FROM_MOTHER_TO_CHILD", "BY_LAB", "TRANSFUSION_TRANSPLANT_RECIPIENT", "OTHER", "UNKNOWN"]).optional(), modeOfTransmissionType: z.string().max(512).optional(), motherCitizenship: countryReferenceDto.optional(), motherCountryOfBirth: countryReferenceDto.optional(), otherDetails: z.string().optional(), patientIllLocation: z.string().max(512).optional(), placeOfInfection: z.string().max(255).optional(), probableRouteOfTransmission: z.enum(["HETEROSEXUAL_CONTACT", "MSM_HOMO_OR_BISEXUAL_MALE", "MOTHER_TO_CHILD_TRANSMISSION", "OTHER", "UNKNOWN"]).optional(), pseudonymized: z.boolean().optional(), residenceAtOnset: z.string().max(255).optional(), sexWorker: z.enum(["YES", "NO", "UNKNOWN"]).optional(), typeOfClinicalService: z.enum(["INFECTIOUS_DISEASE_CLINIC", "GENERAL_PRACTITIONER", "DERMATOLOGY_VENEREOLOGY_CLINIC", "GYNAECOLOGY_CLINIC", "DEDICATED_STI_CLINIC", "UROLOGY", "ANTENATAL_CARE", "FAMILY_PLANNING_CLINIC", "HOSPITAL_EMERGENCY_DEPARTMENT", "YOUTH_CLINIC", "COMBINED_SERVICE", "OTHER_PRIMARY_CARE", "OTHER"]).optional(), uuid: z.string().min(20).max(36).optional()}); export const healthConditionsDto = z.object({asplenia: z.enum(["YES", "NO", "UNKNOWN"]).optional(), asthma: z.enum(["YES", "NO", "UNKNOWN"]).optional(), cardiovascularDiseaseIncludingHypertension: z.enum(["YES", "NO", "UNKNOWN"]).optional(), changeDate: z.string().optional(), chronicDisease: z.enum(["YES", "NO", "UNKNOWN"]).optional(), chronicDiseaseDetails: z.string().optional(), chronicHeartFailure: z.enum(["YES", "NO", "UNKNOWN"]).optional(), chronicKidneyDisease: z.enum(["YES", "NO", "UNKNOWN"]).optional(), chronicLiverDisease: z.enum(["YES", "NO", "UNKNOWN"]).optional(), chronicNeurologicCondition: z.enum(["YES", "NO", "UNKNOWN"]).optional(), chronicPulmonaryDisease: z.enum(["YES", "NO", "UNKNOWN"]).optional(), complianceWithTreatment: z.enum(["NO_COMPLIANCE", "TREATMENT_COMPLETED", "TREATMENT_FAILED", "TREATMENT_NOT_COMPLETED", "UNKNOWN", "NOT_APPLICABLE"]).optional(), congenitalSyphilis: z.enum(["YES", "NO", "UNKNOWN"]).optional(), creationDate: z.string().optional(), currentSmoker: z.enum(["YES", "NO", "UNKNOWN"]).optional(), diabetes: z.enum(["YES", "NO", "UNKNOWN"]).optional(), downSyndrome: z.enum(["YES", "NO", "UNKNOWN"]).optional(), exposedToMosquitoBorneViruses: z.enum(["YES", "NO", "UNKNOWN"]).optional(), exposedToMosquitoBorneVirusesText: z.string().optional(), formerSmoker: z.enum(["YES", "NO", "UNKNOWN"]).optional(), hepatitis: z.enum(["YES", "NO", "UNKNOWN"]).optional(), highIronLevel: z.enum(["YES", "NO", "UNKNOWN"]).optional(), hiv: z.enum(["YES", "NO", "UNKNOWN"]).optional(), hivArt: z.enum(["YES", "NO", "UNKNOWN"]).optional(), hivPrep: z.enum(["YES", "NO", "UNKNOWN"]).optional(), hivStatus: z.enum(["NEGATIVE", "POSITIVE", "KNOWN_POSITIVE", "NEW_DIAGNOSIS", "UNKNOWN"]).optional(), immunodeficiencyIncludingHiv: z.enum(["YES", "NO", "UNKNOWN"]).optional(), immunodeficiencyOtherThanHiv: z.enum(["YES", "NO", "UNKNOWN"]).optional(), immunodeficiencyOtherThanHivText: z.string().optional(), inJurisdiction: z.boolean().optional(), malaria: z.enum(["YES", "NO", "UNKNOWN"]).optional(), malariaInfectedYear: z.number().int().optional(), malignancyChemotherapy: z.enum(["YES", "NO", "UNKNOWN"]).optional(), medicationDetails: z.string().optional(), mentalHealthDisorder: z.enum(["YES", "NO", "UNKNOWN"]).optional(), obesity: z.enum(["YES", "NO", "UNKNOWN"]).optional(), onMedication: z.enum(["YES", "NO", "UNKNOWN"]).optional(), otherConditions: z.string().max(4096).optional(), previousGonorrhoea: z.enum(["YES", "NO", "UNKNOWN"]).optional(), previousTuberculosisTreatment: z.enum(["YES", "NO", "UNKNOWN"]).optional(), pseudonymized: z.boolean().optional(), recurrentBronchiolitis: z.enum(["YES", "NO", "UNKNOWN"]).optional(), sickleCellDisease: z.enum(["YES", "NO", "UNKNOWN"]).optional(), stiProphylaxis: z.enum(["YES", "NO", "UNKNOWN"]).optional(), substanceUseDisorder: z.enum(["YES", "NO", "UNKNOWN"]).optional(), substanceUseDisorderDetails: z.string().optional(), syphilisDateOfFirstDose: z.string().optional(), syphilisDrugUsed: z.string().optional(), syphilisNumberOfDoses: z.number().int().optional(), syphilisOrOtherStis: z.enum(["YES", "NO", "UNKNOWN"]).optional(), treatedForSyphilis: z.enum(["YES", "NO", "UNKNOWN"]).optional(), tuberculosis: z.enum(["YES", "NO", "UNKNOWN"]).optional(), tuberculosisInfectionYear: z.number().int().optional(), uuid: z.string().min(20).max(36).optional(), vaccinatedAgainstMosquitoBorneViruses: z.enum(["YES", "NO", "UNKNOWN"]).optional()}); export const personReferenceDto = z.object({caption: z.string().optional(), firstName: z.string().optional(), lastName: z.string().optional(), uuid: z.string()}); export const sormasToSormasOriginInfoDto = z.object({changeDate: z.string().optional(), comment: z.string().max(4096), creationDate: z.string().optional(), organizationId: z.string().max(512).optional(), ownershipHandedOver: z.boolean().optional(), pseudonymizedData: z.boolean().optional(), senderEmail: z.string().max(512).optional(), senderName: z.string().max(512).optional(), senderPhoneNumber: z.string().max(512).optional(), uuid: z.string().min(20).max(36).optional(), withAssociatedContacts: z.boolean().optional(), withEventParticipants: z.boolean().optional(), withImmunizations: z.boolean().optional(), withSamples: z.boolean().optional(), withSurveillanceReports: z.boolean().optional()}); export const contactDto = z.object({additionalDetails: z.string().max(4096).optional(), careForPeopleOver60: z.enum(["YES", "NO", "UNKNOWN"]).optional(), caseIdExternalSystem: z.string().max(512).optional(), caseOrEventInformation: z.string().max(4096).optional(), caseReferenceNumber: z.string().max(512).optional(), caze: caseReferenceDto.optional(), changeDate: z.string().optional(), community: communityReferenceDto.optional(), contactCategory: z.enum(["HIGH_RISK", "HIGH_RISK_MED", "MEDIUM_RISK_MED", "LOW_RISK", "NO_RISK"]).optional(), contactClassification: z.enum(["UNCONFIRMED", "CONFIRMED", "NO_CONTACT"]).optional(), contactIdentificationSource: z.enum(["CASE_PERSON", "CONTACT_PERSON", "TRACING_APP", "OTHER", "UNKNOWN"]).optional(), contactIdentificationSourceDetails: z.string().max(512).optional(), contactOfficer: userReferenceDto.optional(), contactProximities: z.array(z.enum(["TOUCHED_FLUID", "PHYSICAL_CONTACT", "CLOTHES_OR_OTHER", "CLOSE_CONTACT", "FACE_TO_FACE_LONG", "MEDICAL_UNSAFE", "SAME_ROOM", "AIRPLANE", "FACE_TO_FACE_SHORT", "MEDICAL_SAFE", "MEDICAL_SAME_ROOM", "AEROSOL", "MEDICAL_DISTANT", "MEDICAL_LIMITED"])).optional(), contactProximityDetails: z.string().max(512).optional(), contactStatus: z.enum(["ACTIVE", "CONVERTED", "DROPPED"]).optional(), creationDate: z.string().optional(), deleted: z.boolean().optional(), deletionReason: z.enum(["GDPR", "DELETION_REQUEST", "CREATED_WITH_NO_LEGAL_REASON", "TRANSFERRED_RESPONSIBILITY", "DUPLICATE_ENTRIES", "OTHER_REASON"]).optional(), description: z.string().max(4096).optional(), disease: z.enum(["AFP", "CHOLERA", "CONGENITAL_RUBELLA", "CSM", "DENGUE", "EVD", "GUINEA_WORM", "LASSA", "MEASLES", "MONKEYPOX", "NEW_INFLUENZA", "PLAGUE", "POLIO", "UNSPECIFIED_VHF", "WEST_NILE_FEVER", "YELLOW_FEVER", "RABIES", "ANTHRAX", "CORONAVIRUS", "PNEUMONIA", "MALARIA", "TYPHOID_FEVER", "ACUTE_VIRAL_HEPATITIS", "NON_NEONATAL_TETANUS", "HIV", "SCHISTOSOMIASIS", "SOIL_TRANSMITTED_HELMINTHS", "TRYPANOSOMIASIS", "DIARRHEA_DEHYDRATION", "DIARRHEA_BLOOD", "SNAKE_BITE", "RUBELLA", "TUBERCULOSIS", "LATENT_TUBERCULOSIS", "LEPROSY", "LYMPHATIC_FILARIASIS", "BURULI_ULCER", "PERTUSSIS", "NEONATAL_TETANUS", "ONCHOCERCIASIS", "DIPHTHERIA", "TRACHOMA", "YAWS_ENDEMIC_SYPHILIS", "MATERNAL_DEATHS", "PERINATAL_DEATHS", "INFLUENZA", "INFLUENZA_A", "INFLUENZA_B", "H_METAPNEUMOVIRUS", "RESPIRATORY_SYNCYTIAL_VIRUS", "PARAINFLUENZA_1_4", "ADENOVIRUS", "RHINOVIRUS", "ENTEROVIRUS", "M_PNEUMONIAE", "C_PNEUMONIAE", "ARI", "CHIKUNGUNYA", "POST_IMMUNIZATION_ADVERSE_EVENTS_MILD", "POST_IMMUNIZATION_ADVERSE_EVENTS_SEVERE", "FHA", "INVASIVE_PNEUMOCOCCAL_INFECTION", "INVASIVE_MENINGOCOCCAL_INFECTION", "GIARDIASIS", "CRYPTOSPORIDIOSIS", "SHIGELLOSIS", "SALMONELLOSIS", "SYPHILIS", "YERSINIOSIS", "MUMPS", "GONOCOCCAL_INFECTION", "OTHER", "UNDEFINED"]), diseaseDetails: z.string().max(512).optional(), diseaseVariant: diseaseVariant.optional(), district: districtReferenceDto.optional(), endOfQuarantineReason: z.enum(["ASYMPTOMATIC", "ISOLATED_AS_CASE", "LOST_TO_FOLLOWUP", "OTHER"]).optional(), endOfQuarantineReasonDetails: z.string().max(512).optional(), epiData: epiDataDto.optional(), externalID: z.string().max(512).optional(), externalToken: z.string().max(512).optional(), firstContactDate: z.string().optional(), followUpComment: z.string().max(4096).optional(), followUpStatus: z.enum(["FOLLOW_UP", "COMPLETED", "CANCELED", "LOST", "NO_FOLLOW_UP"]).optional(), followUpStatusChangeDate: z.string().optional(), followUpStatusChangeUser: userReferenceDto.optional(), followUpUntil: z.string().optional(), healthConditions: healthConditionsDto.optional(), highPriority: z.boolean().optional(), immuneGlobulinProposed: z.boolean().optional(), immunosuppressiveTherapyBasicDisease: z.enum(["YES", "NO", "UNKNOWN"]).optional(), immunosuppressiveTherapyBasicDiseaseDetails: z.string().max(512).optional(), inJurisdiction: z.boolean().optional(), informationReliability: z.enum(["TRUSTED", "UNRELIABLE", "UNKNOWN"]).optional(), internalToken: z.string().max(1000000).optional(), lastContactDate: z.string().optional(), multiDayContact: z.boolean().optional(), numberOfDoses: z.number().int().optional(), otherDeletionReason: z.string().max(1000000).optional(), overwriteFollowUpUntil: z.boolean().optional(), ownershipHandedOver: z.boolean().optional(), person: personReferenceDto, postpartum: z.enum(["YES", "NO", "UNKNOWN"]).optional(), pregnant: z.enum(["YES", "NO", "UNKNOWN"]).optional(), prescribedDrug: z.enum(["AMIKACIN", "BEDAQUILINE", "CAPREOMYCIN", "CIPROFLOXACIN", "DELAMANID", "ETHAMBUTOL", "GATIFLOXACIN", "ISONIAZID", "KANAMYCIN", "LEVOFLOXACIN", "MOXIFLOXACIN", "OFLOXACIN", "RIFAMPICIN", "STREPTOMYCIN", "CEFTRIAXONE", "PENICILLIN", "ERYTHROMYCIN", "AZITHROMYCIN", "CEFIXIME", "TETRACYCLINE", "GENTAMICIN", "SPECTINOMYCIN", "CEFTAZIDIME", "CEFOTAXIME", "AMPICILLIN", "TRIMETHOPRIM_SULFAMETHOXAZOLE", "CLINDAMYCIN", "LINEZOLID", "MEROPENEM", "CLOFAZIMINE", "ETHIONAMIDE", "PRETOMANID", "PYRAZINAMIDE", "OTHER"]).optional(), prescribedDrugText: z.string().optional(), previousQuarantineTo: z.string().optional(), prohibitionToWork: z.enum(["YES", "NO", "UNKNOWN"]).optional(), prohibitionToWorkFrom: z.string().optional(), prohibitionToWorkUntil: z.string().optional(), prophylaxisPrescribed: z.boolean().optional(), pseudonymized: z.boolean().optional(), quarantine: z.enum(["HOME", "INSTITUTIONELL", "HOSPITAL", "HOTEL", "ASYLUM_ACCOMMODATION", "NONE", "UNKNOWN", "OTHER"]).optional(), quarantineChangeComment: z.string().max(4096).optional(), quarantineExtended: z.boolean().optional(), quarantineFrom: z.string().optional(), quarantineHelpNeeded: z.string().max(512).optional(), quarantineHomePossible: z.enum(["YES", "NO", "UNKNOWN"]).optional(), quarantineHomePossibleComment: z.string().max(512).optional(), quarantineHomeSupplyEnsured: z.enum(["YES", "NO", "UNKNOWN"]).optional(), quarantineHomeSupplyEnsuredComment: z.string().max(512).optional(), quarantineOfficialOrderSent: z.boolean().optional(), quarantineOfficialOrderSentDate: z.string().optional(), quarantineOrderedOfficialDocument: z.boolean().optional(), quarantineOrderedOfficialDocumentDate: z.string().optional(), quarantineOrderedVerbally: z.boolean().optional(), quarantineOrderedVerballyDate: z.string().optional(), quarantineReduced: z.boolean().optional(), quarantineTo: z.string().optional(), quarantineTypeDetails: z.string().max(512).optional(), region: regionReferenceDto.optional(), relationDescription: z.string().max(512).optional(), relationToCase: z.enum(["SAME_HOUSEHOLD", "FAMILY_MEMBER_OR_FRIEND", "SAME_ENVIRONMENT", "MEDICAL_CARE", "OTHER"]).optional(), reportDateTime: z.string(), reportLat: z.number().gte(-90).lte(90).optional(), reportLatLonAccuracy: z.number().optional(), reportLon: z.number().gte(-180).lte(180).optional(), reportingDistrict: districtReferenceDto.optional(), reportingUser: userReferenceDto.optional(), resultingCase: caseReferenceDto.optional(), resultingCaseUser: userReferenceDto.optional(), returningTraveler: z.enum(["YES", "NO", "UNKNOWN"]).optional(), sormasToSormasOriginInfo: sormasToSormasOriginInfoDto.optional(), tracingApp: z.enum(["CORONA_WARN_APP", "OTHER", "UNKNOWN"]).optional(), tracingAppDetails: z.string().max(512).optional(), trimester: z.enum(["FIRST", "SECOND", "THIRD", "UNKNOWN"]).optional(), uuid: z.string().min(20).max(36).optional(), vaccinationDoseOneDate: z.string().optional(), vaccinationDoseTwoDate: z.string().optional(), vaccinationProposed: z.boolean().optional(), vaccinationStatus: z.enum(["VACCINATED", "UNVACCINATED", "RECOVERED", "HAD_THE_DISEASE", "OTHER", "UNKNOWN"]).optional(), vaccinationStatusDetails: z.string().max(512).optional(), vaccinationStatusLastUpdated: z.string().optional()}); export const getApiContactsAllSinceSizeLastSynchronizedUuidResponse = z.array(contactDto); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * GET /contacts/all/{since}/{size}/{lastSynchronizedUuid} */ export const getApiContactsAllSinceSizeLastSynchronizedUuid = async (args: GetApiContactsAllSinceSizeLastSynchronizedUuidArgs, options: GetApiContactsAllSinceSizeLastSynchronizedUuidOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json; charset=UTF-8") const url = `${baseUrl.replace(/\/+$/, '')}/contacts/all/${encodeURIComponent(String(args.since))}/${encodeURIComponent(String(args.size))}/${encodeURIComponent(String(args.lastSynchronizedUuid))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(getApiContactsAllSinceSizeLastSynchronizedUuidResponse, await res.json()) };