prelude-xml-parser 0.10.0

Deserialize Prelude EDC native XML files into Rust stucts.
Documentation
<?xml version="1.0" encoding="UTF-8"?>
<export_from_vision_EDC date="30-May-2024 10:35 -0500" createdBy="Paul Sanders" role="Project Manager" numberSubjectsProcessed="4">

  <patient patientId="ABC-001" uniqueId="1681574905819" whenCreated="2023-04-15 12:09:02 -0400" creator="Paul Sanders" siteName="Some Site" siteUniqueId="1681574834910" lastLanguage="" numberOfForms="6">
    <form name="day.0.form.name.demographics" lastModified="2023-04-15 12:09:15 -0400" whoLastModifiedName="Paul Sanders" whoLastModifiedRole="Project Manager" whenCreated="1681574905839" hasErrors="false" hasWarnings="false" locked="false" user="" dateTimeChanged="" formTitle="Demographics" formIndex="1" formGroup="Day 0" formState="In-Work">
      <state value="form.state.in.work" signer="Paul Sanders - Project Manager" signerUniqueId="1681162687395" dateSigned="2023-04-15 12:09:02 -0400" />
      <lockState locked="true" user="Some User" userUniqueId="1630429016609" dateTimeChanged="2024-10-31 09:49:15 -0500" />
      <category name="Demographics" type="normal" highestIndex="0">
        <field name="breed" type="combo-box" dataType="string" errorCode="valid" whenCreated="2023-04-15 12:08:26 -0400" keepHistory="true">
          <entry id="1">
            <value by="Paul Sanders" byUniqueId="1681162687395" role="Project Manager" when="2023-04-15 12:09:02 -0400" xml:space="preserve">Labrador</value>
          </entry>
          <comment id="1">
            <value by="Paul Sanders" byUniqueId="1681162687395" role="Project Manager" when="2023-04-15 12:09:02 -0400" xml:space="preserve">Some Comment</value>
          </comment>
        </field>
        <field name="dob" type="popUpCalendar" dataType="date" errorCode="valid" whenCreated="2023-04-15 12:08:26 -0400" keepHistory="true">
          <entry id="1">
            <value by="Paul Sanders" byUniqueId="1681162687395" role="Project Manager" when="2023-04-15 12:09:02 -0400" xml:space="preserve">15-Apr-2020</value>
          </entry>
        </field>
        <field name="first_name" type="text" dataType="string" errorCode="valid" whenCreated="2023-04-15 12:08:26 -0400" keepHistory="true">
          <entry id="1">
            <value by="Paul Sanders" byUniqueId="1681162687395" role="Project Manager" when="2023-04-15 12:09:02 -0400" xml:space="preserve">Imma</value>
          </entry>
        </field>
        <field name="gender" type="radio" dataType="string" errorCode="valid" whenCreated="2023-04-15 12:08:26 -0400" keepHistory="true">
          <entry id="1">
            <value by="Paul Sanders" byUniqueId="1681162687395" role="Project Manager" when="2023-04-15 12:09:02 -0400" xml:space="preserve">Female Spayed</value>
          </entry>
        </field>
        <field name="hide_study_exit" type="hidden" dataType="string" errorCode="valid" whenCreated="2023-06-19 15:38:08 -0400" keepHistory="true">
          <entry id="1">
            <value by="set from calculation" byUniqueId="" role="System" when="2023-06-19 15:49:09 -0400" xml:space="preserve">1 form hidden</value>
            <reason by="set from calculation" byUniqueId="" role="System" when="2023-06-19 15:49:09 -0400" xml:space="preserve">calculated value</reason>
          </entry>
        </field>
        <field name="hide_study_exit_0" type="hidden" dataType="string" errorCode="valid" whenCreated="2023-06-19 15:49:06 -0400" keepHistory="true" />
        <field name="hide_study_exit_7" type="hidden" dataType="string" errorCode="valid" whenCreated="2023-06-19 15:49:06 -0400" keepHistory="true">
          <entry id="1">
            <value by="set from calculation" byUniqueId="" role="System" when="2023-06-19 15:49:09 -0400" xml:space="preserve">1 form hidden</value>
            <reason by="set from calculation" byUniqueId="" role="System" when="2023-06-19 15:49:09 -0400" xml:space="preserve">calculated value</reason>
          </entry>
        </field>
        <field name="last_name" type="text" dataType="string" errorCode="valid" whenCreated="2023-04-15 12:08:26 -0400" keepHistory="true">
          <entry id="1">
            <value by="Paul Sanders" byUniqueId="1681162687395" role="Project Manager" when="2023-04-15 12:09:02 -0400" xml:space="preserve">Dog</value>
          </entry>
        </field>
        <field name="screening_number" type="hidden" dataType="string" errorCode="valid" whenCreated="2023-04-15 12:08:26 -0400" keepHistory="true">
          <entry id="1">
            <value by="set from calculation" byUniqueId="" role="System" when="2023-04-15 12:09:02 -0400" xml:space="preserve">001</value>
            <reason by="set from calculation" byUniqueId="" role="System" when="2023-04-15 12:09:02 -0400" xml:space="preserve">calculated value</reason>
          </entry>
        </field>
        <field name="site_type" type="hidden" dataType="string" errorCode="valid" whenCreated="2023-04-15 12:08:26 -0400" keepHistory="true">
          <entry id="1">
            <value by="set from calculation" byUniqueId="" role="System" when="2023-04-15 12:09:02 -0400" xml:space="preserve">Live</value>
            <reason by="set from calculation" byUniqueId="" role="System" when="2023-04-15 12:09:02 -0400" xml:space="preserve">calculated value</reason>
          </entry>
        </field>
        <field name="subject_id" type="text" dataType="string" errorCode="valid" whenCreated="2023-04-15 12:08:26 -0400" keepHistory="true">
          <entry id="1">
            <value by="set from calculation" byUniqueId="" role="System" when="2023-04-15 12:09:02 -0400" xml:space="preserve">ABC-001</value>
            <reason by="set from calculation" byUniqueId="" role="System" when="2023-04-15 12:09:02 -0400" xml:space="preserve">calculated value</reason>
          </entry>
        </field>
        <field name="visit_date" type="popUpCalendar" dataType="date" errorCode="valid" whenCreated="2023-04-15 12:08:26 -0400" keepHistory="true">
          <entry id="1">
            <value by="Paul Sanders" byUniqueId="1681162687395" role="Project Manager" when="2023-04-15 12:09:02 -0400" xml:space="preserve">15-Apr-2023</value>
          </entry>
        </field>
      </category>
    </form>
    <form name="day.0.form.name.study.exit" lastModified="" whenCreated="1687203491403" hasErrors="false" hasWarnings="false" locked="false" user="" dateTimeChanged="" formTitle="Study Exit" formIndex="1" formGroup="Day 0" formState="Not Applicable">
      <state value="form.state.not.applicable" signer="System set" signerUniqueId="system" dateSigned="2023-06-19 15:38:11 -0400" />
    </form>
    <form name="day.7.form.name.physical.examination" lastModified="" whenCreated="1681574958052" hasErrors="false" hasWarnings="false" locked="false" user="" dateTimeChanged="" formTitle="Physical Examination" formIndex="1" formGroup="Day 7" formState="New">
      <state value="form.state.new" signer="System set" signerUniqueId="system" dateSigned="2023-04-15 12:09:18 -0400" />
      <category name="Physical_Examination" type="normal" highestIndex="0">
        <field name="earliest_date" type="popUpCalendar" dataType="date" errorCode="undefined" whenCreated="2023-04-15 12:09:18 -0400" keepHistory="true" />
      </category>
    </form>
  </patient>

  <patient patientId="ABC-002" uniqueId="1681574994823" whenCreated="2023-04-15 12:10:21 -0400" creator="Paul Sanders" siteName="Some Site" siteUniqueId="1681574834910" lastLanguage="" numberOfForms="7">
    <form name="study.exit.form.name.study.exit" lastModified="" whenCreated="1687204158696" hasErrors="false" hasWarnings="false" locked="false" user="" dateTimeChanged="" formTitle="Study Exit" formIndex="1" formGroup="Study Exit" formState="Not Applicable">
      <state value="form.state.not.applicable" signer="System set" signerUniqueId="system" dateSigned="2023-06-19 15:49:18 -0400"/>
    </form>
  </patient>

</export_from_vision_EDC>