Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
4b5a404
feat: add FastBridge
ssingh-dl Jan 14, 2025
8d38dbe
Governance document
Bruk Jul 8, 2025
4824322
Adding the image
Bruk Jul 8, 2025
6182760
first working version
Bruk Jul 9, 2025
7e2bd9b
Fixed the descriptors to match up the typical setup of descriptors
Bruk Jul 9, 2025
f669e79
Adding fast bridge cmbr assessment
Bruk Jul 9, 2025
e567e69
adding cmbr assessment
Bruk Jul 9, 2025
ce993d4
Update FastBridgemapping.md
Bruk Jul 9, 2025
2cac754
first validating version
Bruk Jul 9, 2025
da26c36
Fixing the templates making them dynamic
Bruk Jul 9, 2025
0a28dae
Adding the pre-exec function to handle the pivoting
Bruk Jul 9, 2025
3924872
comitting my modificaitons
Bruk Jul 14, 2025
47afd64
removed redundancy and moved scores out of the template
Bruk Jul 16, 2025
80c4e7f
Adding a sample file and mapping
Bruk Jul 17, 2025
59c781f
Fixing school year issue
Bruk Jul 17, 2025
318bfc9
Fixed issues with capturing errors
Bruk Jul 17, 2025
f70b7be
optimized the pre-execute function
Bruk Jul 17, 2025
5ce23dd
Fixed an issue with space regularizaito in the column names and fixed…
Bruk Jul 17, 2025
9c8abb7
Adding sample files
Bruk Jul 23, 2025
086f304
Fixed blank ids issues on fast bridge english
Bruk Jul 25, 2025
93f22ce
casting the id to intger
Bruk Jul 25, 2025
4726743
Added the education organizaiton association template
Bruk Jul 25, 2025
f317cef
setting the student id to int
Bruk Jul 25, 2025
2809f85
fixed an issue with student education organization template
Bruk Jul 26, 2025
6029758
casting ed org id to int
Bruk Jul 27, 2025
f2628b9
Fixed the issue with the node name
Bruk Jul 27, 2025
5291060
Update FastBridgemapping.md
Bruk Aug 12, 2025
b80f101
Update FastBridgemapping.md
Bruk Aug 12, 2025
8657b08
Adding the growth scores tot eh assessment
Bruk Aug 18, 2025
41b279a
optimized the pre-execute function
Bruk Aug 19, 2025
ebabc96
Fixing the issue with the positional error columns
Bruk Aug 21, 2025
15d55cb
Delete assessments/FastBridge_English/tmp directory
Bruk Aug 21, 2025
7372115
Cleaning up the repo
Bruk Aug 21, 2025
6f21068
updating the documentation for fast bridge english
Bruk Aug 21, 2025
148cff2
Reduce number of records in sample files, removed unnessary seed file…
sasalter Sep 19, 2025
3a84648
Fixed gradelevels and data files
sasalter Sep 19, 2025
d582e3d
Clean up files, fixed assessment family and removed identification co…
sasalter Sep 22, 2025
2df9167
Removed mapping file and image, updated readme and added missing repo…
sasalter Sep 22, 2025
78b2bf2
Fixed reporting method for growth scores and added sample data to test.
sasalter Sep 23, 2025
2189c8e
Shortened code value for reporting methods for screening period 4 to …
sasalter Sep 23, 2025
55eddce
Fixed error scores
sasalter Sep 23, 2025
00c4724
Fixed hardcoded edfi namespace in PerformanceLevel transform to use d…
sasalter Oct 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions assessments/FastBridge_English/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
## FastBridge English (Early Reading)

* **Title:** FastBridge English Early Reading Assessment Results
* **Description:** This template maps FastBridge English Early Reading Assessment Results, providing comprehensive evaluation of various reading skills including decodable words, letter names, letter sounds, nonsense words, sentence reading, and sight words. The bundle includes pre-processing to pivot season-based columns into student assessment rows, handle growth metrics, and map positional error columns.
* **API version:** 5.3
* **Submitter name:** Bruk Woldearegay
* **Submitter organization:** Crocus LLC.

To run this bundle, please add your own source file(s) and column(s):
<details>
This template works with vendor layout file structure. The pre-execute script transforms the wide CSV format (seasons as columns) into a long format (seasons as rows) suitable for Ed-Fi ingestion. See the sample anonymized file.
</details>

Sample file: `data/Sample_earlyReading_deidentified.csv`

### CLI Parameters

### Required
- **OUTPUT_DIR**: Where output files will be written
- **STATE_FILE**: Where to store the earthmover runs.csv file
- **INPUT_FILE**: The student assessment file to be mapped
- **STUDENT_ID_NAME**: Which column to use as the Ed-Fi `studentUniqueId`. Default column is the 'StateID' from the vendor layout file.
- **SCHOOL_YEAR**: The year of the assessment file (format as 'YYYY' e.g. '2024', etc).

### Examples

**Step 1: Running the pre-execute script to transform the file structure**
The FastBridge English CSV comes in a wide format with seasons as columns. The pre-execute script pivots this into a long format and handles growth metrics and error column mapping:

```python
fast_bridge_english_pre_exec(source_file, output_file)
```

Example:
```python
fast_bridge_english_pre_exec(
'data/Sample_earlyReading_deidentified.csv',
'data/Sample_earlyReading_deidentified_pivoted.csv'
)
```

**Step 2: Running earthmover with the transformed file:**
```bash
earthmover run -c ./earthmover.yaml -p '{
"INPUT_FILE": "data/Sample_earlyReading_deidentified_pivoted.csv",
"OUTPUT_DIR": "output/",
"STUDENT_ID_NAME": "State ID",
"SCHOOL_YEAR": "2024"}'
```

### Pre-Execute Script Features

The pre-execute script (`python_pre_exec/pre-execute.py`) performs the following transformations:

1. **Season Pivoting**: Converts wide format (seasons as columns) to long format (seasons as rows)
2. **Growth Metrics Processing**: Handles growth columns (e.g., "Decodable Words from Fall to Winter") and pivots them based on ending season
3. **Error Column Mapping**: Maps generic "Error" columns to objective-specific error fields using positional anchors (WRC per minute, IC per minute)
4. **Column Normalization**: Converts all column names to snake_case format for consistency
5. **Data Validation**: Filters out empty rows and ensures data quality

### Error Column Handling

The script automatically detects and maps generic "Error" columns that appear positionally after anchor metrics:
- Generic columns named "Error", "Error.1", "Error.2", etc.
- Maps to objective-specific names like "decodable_words_error", "letter_sounds_error"
- Uses "WRC per minute" and "IC per minute" columns as anchors to determine which objective each error belongs to

Once you have inspected the output JSONL for issues, check the settings in `lightbeam.yaml` and transmit them to your Ed-Fi API with
```bash
lightbeam validate+send -c ./lightbeam.yaml -p '{
"DATA_DIR": "./output/",
"STATE_DIR": "./tmp/.lightbeam/",
"EDFI_API_BASE_URL": "<yourURL>",
"EDFI_API_CLIENT_ID": "<yourID>",
"EDFI_API_CLIENT_SECRET": "<yourSecret>",
"SCHOOL_YEAR": "<yourAPIYear>"}'
```

### Input File Requirements

The input CSV should contain:
- Student demographic columns (Local ID, State ID, First Name, Last Name, etc.)
- Season-specific assessment columns (e.g., "Fall Early Reading English Final Date", "Winter Decodable Words WRC per minute")
- Growth columns (e.g., "Decodable Words from Fall to Winter")
- Generic "Error" columns positioned after objective anchor columns

### Output Structure

After transformation, the pivoted file will contain:
- One row per student per season with assessment data
- Snake_case column names for consistency
- Growth metrics attached to records based on ending season
- Mapped error columns with objective-specific names (e.g., `decodable_words_error`, `letter_sounds_error`)

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading