@@ -870,6 +870,80 @@ def pvt_quidel(self, auth: str, locations: StringParam, epiweeks: EpiRangeParam
870870 ],
871871 )
872872
873+ def pub_rvdss (
874+ self ,
875+ geo_type : GeoType ,
876+ geo_values : Union [str , Sequence [str ]] = "*" ,
877+ time_values : EpiRangeParam = "*" ,
878+ as_of : Union [None , str , int ] = None ,
879+ issues : Optional [EpiRangeParam ] = None ,
880+ ) -> CALL_TYPE :
881+ """Fetch Canadian respiratory data"""
882+ if sum ([issues is not None , as_of is not None ]) > 1 :
883+ raise InvalidArgumentException ("`issues` and `as_of` are mutually exclusive." )
884+
885+ return self ._create_call (
886+ "rvdss/" ,
887+ {
888+ "geo_type" : geo_type ,
889+ "geo_values" : geo_values ,
890+ "time_values" : time_values ,
891+ "as_of" : as_of ,
892+ "issues" : issues ,
893+ },
894+ # descriptive fields
895+ EpidataFieldInfo ("geo_type" , EpidataFieldType .categorical , categories = list ("nation" , "region" , "province" , "lab" )),
896+ EpidataFieldInfo ("geo_value" , EpidataFieldInfo .text ),
897+ EpidataFieldInfo ("region" , EpidataFieldInfo .text ),
898+ EpidataFieldInfo ("time_type" , EpidataFieldType .categorical , categories = list ("week" )),
899+ EpidataFieldInfo ("epiweek" , EpidataFieldInfo .epiweek ), # Stored as an int in YYYYWW format
900+ EpidataFieldInfo ("time_value" , EpidataFieldInfo .epiweek ), # Stored as a date
901+ EpidataFieldInfo ("issue" , EpidataFieldInfo .epiweek ), # Stored as a date
902+ EpidataFieldInfo ("week" , EpidataFieldInfo .int ),
903+ EpidataFieldInfo ("weekorder" , EpidataFieldInfo .int ),
904+ EpidataFieldInfo ("year" , EpidataFieldInfo .int ),
905+
906+ # value fields
907+ EpidataFieldInfo ("adv_pct_positive" , EpidataFieldInfo .float ),
908+ EpidataFieldInfo ("adv_positive_tests" , EpidataFieldInfo .float ),
909+ EpidataFieldInfo ("adv_tests" , EpidataFieldInfo .float ),
910+ EpidataFieldInfo ("evrv_pct_positive" , EpidataFieldInfo .float ),
911+ EpidataFieldInfo ("evrv_positive_tests" , EpidataFieldInfo .float ),
912+ EpidataFieldInfo ("evrv_tests" , EpidataFieldInfo .float ),
913+ EpidataFieldInfo ("flu_pct_positive" , EpidataFieldInfo .float ),
914+ EpidataFieldInfo ("flu_positive_tests" , EpidataFieldInfo .float ),
915+ EpidataFieldInfo ("flu_tests" , EpidataFieldInfo .float ),
916+ EpidataFieldInfo ("flua_pct_positive" , EpidataFieldInfo .float ),
917+ EpidataFieldInfo ("flua_positive_tests" , EpidataFieldInfo .float ),
918+ EpidataFieldInfo ("flua_tests" , EpidataFieldInfo .float ),
919+ EpidataFieldInfo ("fluah1n1pdm09_positive_tests" , EpidataFieldInfo .float ),
920+ EpidataFieldInfo ("fluah3_positive_tests" , EpidataFieldInfo .float ),
921+ EpidataFieldInfo ("fluauns_positive_tests" , EpidataFieldInfo .float ),
922+ EpidataFieldInfo ("flub_pct_positive" , EpidataFieldInfo .float ),
923+ EpidataFieldInfo ("flub_positive_tests" , EpidataFieldInfo .float ),
924+ EpidataFieldInfo ("flub_tests" , EpidataFieldInfo .float ),
925+ EpidataFieldInfo ("hcov_pct_positive" , EpidataFieldInfo .float ),
926+ EpidataFieldInfo ("hcov_positive_tests" , EpidataFieldInfo .float ),
927+ EpidataFieldInfo ("hcov_tests" , EpidataFieldInfo .float ),
928+ EpidataFieldInfo ("hmpv_pct_positive" , EpidataFieldInfo .float ),
929+ EpidataFieldInfo ("hmpv_positive_tests" , EpidataFieldInfo .float ),
930+ EpidataFieldInfo ("hmpv_tests" , EpidataFieldInfo .float ),
931+ EpidataFieldInfo ("hpiv1_positive_tests" , EpidataFieldInfo .float ),
932+ EpidataFieldInfo ("hpiv2_positive_tests" , EpidataFieldInfo .float ),
933+ EpidataFieldInfo ("hpiv3_positive_tests" , EpidataFieldInfo .float ),
934+ EpidataFieldInfo ("hpiv4_positive_tests" , EpidataFieldInfo .float ),
935+ EpidataFieldInfo ("hpiv_pct_positive" , EpidataFieldInfo .float ),
936+ EpidataFieldInfo ("hpiv_positive_tests" , EpidataFieldInfo .float ),
937+ EpidataFieldInfo ("hpiv_tests" , EpidataFieldInfo .float ),
938+ EpidataFieldInfo ("hpivother_positive_tests" , EpidataFieldInfo .float ),
939+ EpidataFieldInfo ("rsv_pct_positive" , EpidataFieldInfo .float ),
940+ EpidataFieldInfo ("rsv_positive_tests" , EpidataFieldInfo .float ),
941+ EpidataFieldInfo ("rsv_tests" , EpidataFieldInfo .float ),
942+ EpidataFieldInfo ("sarscov2_pct_positive" , EpidataFieldInfo .float ),
943+ EpidataFieldInfo ("sarscov2_positive_tests" , EpidataFieldInfo .float ),
944+ EpidataFieldInfo ("sarscov2_tests" , EpidataFieldInfo .float )
945+ )
946+
873947 def pvt_sensors (
874948 self ,
875949 auth : str ,
0 commit comments