   (def filename (.getName file))
   (def formatString (str "edfi-xml,%s,%s,%s"))
   (let [rval (str
+      (if (substring? "-assessment.xml" filename)
+        (format formatString "AssessmentMetadata" filename md5string)
+      )
+      (if (substring? "-schools.xml" filename)
+        (format formatString "EducationOrganization" filename md5string)
+      )
+      (if (substring? "-calendar.xml" filename)
+        (format formatString "EducationOrgCalendar" filename md5string)
+      )
+      (if (substring? "-master-schedule.xml" filename)
+        (format formatString "MasterSchedule" filename md5string)
+      )
       (if (substring? "student.xml" filename)
         (format formatString "StudentParent" filename, md5string)
       )
-      (if (substring? "-schools.xml" filename)
-        (format formatString "EducationOrganization" filename md5string)
-      )
-      (if (substring? "-assessment.xml" filename)
-        (format formatString "AssessmentMetadata" filename md5string)
-      )
       (if (substring? "-enrollment.xml" filename)
         (format formatString "StudentEnrollment" filename md5string)
       )
-      (if (substring? "-sections.xml" filename)
-        (format formatString "MasterSchedule" filename md5string)
-      )
       (if (substring? "-assessment-results.xml" filename)
         (format formatString "StudentAssessment" filename md5string)
-      )
-      (if (substring? "-calendar.xml" filename)
-        (format formatString "EducationOrgCalendar" filename md5string)
       )
       ; need
       ; edfi-xml,StaffAssociation,InterchangeStaffAssociation.xml,c5efbe159ac926629a3b494460243aba

  )
)

(defn gen-enroll
  [districtName schoolName student]
  (element :StudentSchoolAssociation {}
    (student-ref districtName schoolName student)
    (element :SchoolReference {}
      (element :EducationalOrgIdentity {}
        (element :StateOrganizationId {} districtName)
      )
    )
    (element :EntryDate {} "2011-09-01")
    (element :EntryGradeLevel {} "Seventh grade")
  )
)

(defn gen-section-assoc
  [districtName schoolName studentName sectionName]
  (element :StudentSectionAssociation {}
    (student-ref districtName schoolName studentName)
    (element :SectionReference {}
      (element :SectionIdentity {}
        (element :StateOrganizationId {} districtName)
        (element :UniqueSectionCode {} sectionName)
      )
    )
  )
)

(defn create-assessment [assessmentName]
  (let [tmp (element :Assessment {:id "Grade_7_2011_State_Math"}
      (element :AssessmentTitle {} assessmentName)

  (gen-edfi :InterchangeEducationOrgCalendar output-file (reverse (create-session districtName)))
)

(defn create-section [districtName]
  (into () [
    (element :CourseOffering {}
      (element :LocalCourseCode {} "Math-7")
