-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Requirements for the cai.csv data file format
Per page 24 of the policy notice and Notices of Changes to the process.
Column Names, Order, and Data Types (dtypes):
type
(dtype: string)entity_name
(dtype: string)entity_number
(dtype: integer)CMS number
(orcms_number
) (dtype: string)frn
(dtype: string)location_id
(dtype: integer)address_primary
(dtype: string)city
(dtype: string)state
(dtype: two-character string)zip_code
(dtype: five-character string)longitude
(dtype: float; but this project usesstr
dtype to make it possible to check 6-decimal-place precision)latitude
(dtype: float; but this project usesstr
dtype to make it possible to check 6-decimal-place precision)explanation
(dtype: string)need
(dtype: integer)availability
(dtype: string)
- Correct column names
- test: test_cai__column_names
- Correct column order
- test: test_cai__column_order
Column Content Requirements
-
type
: Enum; in [S, L, G, H, F, P, C]- test: test_cai_col_content__type
- test: test_CAIType_validator
-
location_id
: A 10 digit integer$\ge 10^9$ and$\lt 10^{10}$ . -
state
: Enum; a 2 letter state identifier- test: test_cai_col_content__state
- test: test_State_validator
-
zip_code
: A zero-padded string of exactly 5 digits. -
longitude
: A value reflecting the unprojected longitude (in WGS-84 CRS, but this code doesn't/can't check for that) in decimal degrees, with 6 decimal places of precision. -
latitude
: A value reflecting the unprojected latitude (in WGS-84 CRS, but this code doesn't/can't check for that) in decimal degrees, with 6 decimal places of precision. -
need
: A positive integer reflecting the needed broadband speed (in Mbps; presumably 1000 everywhere) -
availability
: An integer reflecting the highest speed service available at the location (in Mbps).
Optional
-
CMS number
: Should identify a healthcare practice (As best I can tell from google and the given links, these are 6 or 10 digit numbers) -
frn
: FCC registration number, 6 or 10 digits, uniquely identifies registrant with FCC.- test: test_cai_col_content__frn
- test: test_FrnNullableValidator
Columns Required to be Not Null
-
type
: test: test_cai_col_content__type -
entity_name
: test test_cai_col_content__entity_name -
state
: test: test_cai_col_content__state -
need
: test: test_cai_col_content__need
Columns that can be Conditionally Null
-
location_id
: Can only be null if (address_primary, city, zip_code) are all not null, or if (latitude, longitude) are both not null. -
address_primary
: Can only be null if location_id is not null, or if (latitude, longitude) are both not null. -
city
: Can only be null if location_id is not null, or if (latitude, longitude) are both not null. -
zip_code
: Can only be null if location_id is not null, or if (latitude, longitude) are both not null. -
longitude
: Can only be null if location_id is not null, or if (address_primary, city, zip_code) are all not null. -
latitude
: Can only be null if location_id is not null, or if (address_primary, city, zip_code) are all not null. -
explanation
: Cannot be null if type is in [C]
Optional
-
CMS number
: Cannot be null whentype
is in [H] -
frn
: Cannot be null whentype
is in [S, L, H]
Multi-File Column Rules
N/A
Intentionally noted but not checked by this project
entity_number
: "Mandatory if CAI participates in E-Rate program. Leave empty for CAIs that are neither type S nor L and do not participate in the E-Rate program."CMS number
: Should be valid and maybe turn up in Medicare lookup tools that allow for search by CNN?frn
: Should be valid and in the FCC's systems.location_id
: Must be in the Fabric for that state.
Metadata
Metadata
Assignees
Labels
No labels