Pillarofautumn

From ICO wiki
Jump to navigationJump to search

Meeskonnaliikmed

  • Taavi Põder
  • Raido Vell
  • Taavi Vesinurm - [RIP]

Team Foundation Version Control: [[1]]

Analüüs

Antud projekti korral on tegemist arsti visiitide registreerimise süsteemiga, mille erinevateks kasutajateks on siis arstid ja nende patsiendid. Süsteem võimaldab patsiendil valida arsti ning registreerida aeg, kui see pole varasemalt juba võetud. Registreerimine on võimalik anonüümselt ilma kontot omamata. Samas on võimalik luua konto, et näha endaga seotud varasemaid arstile pöördumisi, ning konkreetse visiidiga seotud arsti poolseid tähelepanekuid.

Kasutajad

  • Arstid
  • Kliendid

Funktsionaalsus

Must have:

CRUD:

  • Visiidi loomine
  • Visiidi vaatamine
  • Visiidi muutmine
  • Visiidi kustutamine
  • Kasutaja loomine
  • Kasutaja vaatamine
  • Kasutaja muutmine
  • Kasutaja kustutamine.
  • Protseduuri ...
  • Kliiniku ...
  • Visiidi tüübi ...

Otsin:

  • Kasutaja nime järgi (1)

Statistika:

  • Sisselogimiste koguarv
  • Kasutaja visiitide koguarv
  • Kasutaja aktiivsete visiitide koguarv

Registreermise nõuded:

  • Visiidi aeg on 30 minutit.
  • Topelt broneeringuid ei ole.
  • Visiitide ajad jäävad 10:00-16:00, esmaspäevast reedeni.
  • Visiidi aeg ei tohi olla minevikus.
  • Arstide valik on drop down menüüs.

Turvalisus:

  • Andmebaasi väljade omavad piiranguid.
  • Andmebaasi pöördumised on piiratud.


Nice to have:

Teavitused:

  • Tervitus sõnum esmase sisselogimise korral.
  • Teavitus sõnum korduval sisselogimisel.
  • Teavitused tulevasest visiidist.
  • Teavitus kustutatud visiidist.
  • teavitus uue visiidi loomisest.
  • Valik saada teavitusi.

Statistika:

  • Ära olnud visiitide arv.

Integratsioon:

  • Google kalender sync.

CRUD:

  • Kasutaja saab muuta Kasutaja visiidi aegu.(2)


(1) - Kasutaja visiitide otsingud nii arsti kui tavakasutaja nime järgi.
(2) - Arstil on võimekus muuta tavakasutaja aegu.

Andmemudel

Retsensioonid

Retsensioonid ilmuvad siia.

XML

XML XML näidise lõime 1 visiidi näitel. Illustreerivatel eesmärkidel, ei hakanud duubeldama.

<?xml version="1.0" encoding="utf-8"?>
<Appointments>
	<Appointment id="1" app_date="05/01/2018" length="00:30">
		<appointment_type id="1">
			<name>Esmakordne visiit</name>
			<description>Suuõõne ülevaatus ja konsultatsioon.</description>
		</appointment_type>
		<person1 id="1" citizen_id="32554694115" >
			<firstname> James </firstname>
			<surname> Bond </surname>
			<middlename></middlename>
			<Contacts>
				<Contact id="1" type="phone" value =""></Contact>
				<Contact id="2" type="email" value ="J.Bond@SIS.uk"></Contact>
				<Contact id="3" type="address">
					<address>
						<city>London</city>
						<street>Whitehall</street>
						<house> 25 </house>
						<apartment> 5 </apartment>
					</address>
				</Contact>
			</Contacts>
		</person1>
		<person2 id="2" citizen_id="36522141652" >
			<firstname> Frederick </firstname>
			<surname> Aldeman </surname>
			<middlename>Ender</middlename>
			<Contacts>
				<Contact id ="1" type="phone" value=""></Contact>
				<Contact id="2" type="email" value="F.E.Aldeman@gmail.com"></Contact>
				<Contact id="3" type="Address">	
					<address>
						<city> Wyoming </city>
						<street>Elm street</street>
						<house> 112 </house>
						<apartment> 5 </apartment>
					</address>
				</Contact>	
			</Contacts>
		</person2>
	</Appointment>
</Appointments>

XML Schema

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Appointments">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Appointment">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="appointment_type">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="name"/>
                    <xs:element type="xs:string" name="description"/>
                  </xs:sequence>
                  <xs:attribute type="xs:int" name="id" use="required"/>
                </xs:complexType>
              </xs:element>
              <xs:element name="person1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="firstname"/>
                    <xs:element type="xs:string" name="surname"/>
                    <xs:element type="xs:string" name="middlename"/>
                    <xs:element name="Contacts">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Contact" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType mixed="true">
                              <xs:sequence>
                                <xs:element name="address" minOccurs="0">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element type="xs:string" name="city"/>
                                      <xs:element type="xs:string" name="street"/>
                                      <xs:element type="xs:float" name="house"/>
                                      <xs:element type="xs:float" name="apartment"/>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute type="xs:int" name="id" use="optional"/>
                              <xs:attribute type="xs:string" name="type" use="optional"/>
                              <xs:attribute type="xs:string" name="value" use="optional"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute type="xs:int" name="id" use="required"/>
                  <xs:attribute type="xs:long" name="citizen_id"/>
                </xs:complexType>
              </xs:element>
              <xs:element name="person2">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="firstname"/>
                    <xs:element type="xs:string" name="surname"/>
                    <xs:element type="xs:string" name="middlename"/>
                    <xs:element name="Contacts">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Contact" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType mixed="true">
                              <xs:sequence>
                                <xs:element name="address" minOccurs="0">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element type="xs:string" name="city"/>
                                      <xs:element type="xs:string" name="street"/>
                                      <xs:element type="xs:float" name="house"/>
                                      <xs:element type="xs:float" name="apartment"/>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute type="xs:int" name="id" use="optional"/>
                              <xs:attribute type="xs:string" name="type" use="optional"/>
                              <xs:attribute type="xs:string" name="value" use="optional"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute type="xs:int" name="id" use="required"/>
                  <xs:attribute type="xs:long" name="citizen_id"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute type="xs:int" name="id" use="required"/>
            <xs:attribute type="xs:string" name="app_date" use="required"/>
            <xs:attribute type="xs:string" name="length" use="required"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Muudatused

Wiki lehe struktuur 31.03.18 12:00
Analüüsi Must ja nice to have funktsionaalsus 31.03.18 16:00
Funktsionaalsuse täiendus 17.04.18 21:00
XML example 05.06.18 19:00
XSD example 05.06.18 20:00