Special Needs

Aug 21, 2009 at 7:07 PM

We noticed today that a special needs child will get placed into another room via balancing (which we implemented) or if there is no special needs class available.

We are going to make a change that will test for the special needs flag and only allow that child to check into a special needs class. If there are no classes available with the special needs flag, they will not be able to checkin.

Our long term thought for this is to switch the special needs flag to a tri-state of no, allowed, or required. This will allow a small childcare situation to allow special needs for an occurrence without necessarily designating that attendance type as a special needs type. 


Aug 21, 2009 at 7:51 PM

Thanks for the heads up.  I spoke with our Children's ministry leaders about this a while back and in our case, they also required that a special needs child always end up in a special needs class if it's available and no class if one is not available.

Regarding the long term, switching the special needs Person Attribute bit to a tri-state option would give some extra flexibility (and I like that).  Such code changes could be written for backwards compatibility or in such a way that it requires an update SQL/data script upon upgrade.   Both have pros and cons, but if we all like the later choice, it should probably be done on a major release (where one understands it's not necessarily backwards compatible and data is being changed or automatically converted).

Aug 21, 2009 at 8:07 PM

I think either way we would have to have an SQL script for the upgrade to convert the is_special_needs from a boolean bit datatype into an integer data type. We could probably make it "relatively" backwards compatible, meaning as long as you did not setup any rooms to be "do not allow special needs" then you would be fine going back a version. SQL wouldn't care if we are setting a boolean field or an int field to true/false.  The only gotcha would be if the user did indeed set a room to "do not allow" and went back a version.  I am not 100% sure what would happen when trying to read a value that is not 0 or 1 into a boolean variable; but I think that is one of those "goes without saying" that we just make sure is well mentioned in the release notes.