Kanta-palvelut: Vanhojen potilastietojen validointiohjelma

Samankaltaiset tiedostot
CSV - XML ohjelman käyttöohje

SÄHKE-hanke. Tekninen mallintaminen SÄHKE-metatietojen XML Schema

Opintosuoritukset. Kaaviokuva

Valppaan asennus- ja käyttöohje

Koodistopalvelun REST-rajapinnat

1 Visma Econet Pro Arkistointi

L models. Käyttöohje. Ryhmä Rajoitteiset

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Opiskeluoikeudet. Kaaviokuva

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Febdok 6.0 paikallisversion asennus OHJEISTUS

Arvosanatietojen siirto oppilaitoksista opintopolkuun 2017

Visma Avendon asennusohje

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

Uutta Remote Support Platform 3.1 -versiossa

Sosiaalihuollon asiakastiedon arkiston validointipalvelu

UCOT-Sovellusprojekti. Asennusohje

Yhteentoimivuutta edistävien työkalujen kehittäminen

Uudistettu käyttöliittymä osoitteessa

Veronumero.fi : Työmaarekisteri

5. HelloWorld-ohjelma 5.1

Maventa Connector Käyttöohje

Sosiaalihuollon asiakastiedon arkiston validointipalvelu. Käyttöohje

Visma Econet -ohjelmat ActiveX on epävakaa -virheilmoituksen korjausohjeet

L7 8.8 Tulorekisteriaineistot: Aineistojen lähetys ja virhetilanteet, aineistojen korjaaminen

Bitnami WordPress - Asenna WordPress koneellesi. Jari Sarja

Javan asennus ja ohjeita ongelmatilanteisiin

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

Sähköisen äänestyksen pilotti

JulkICT Arkkitehtuuripankki - QPR EnterpriseArchitect asennusohje

Ohjelmoinnin perusteet Y Python

1 Visma L7 päivitysaineiston nouto

Ennen varmenteen asennusta varmista seuraavat asiat:

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Viestit-palvelun viranomaisliittymän ohjelmointiohje. Java-esimerkki

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Maiju Mykkänen Susanna Sällinen

Aditro Tikon versio SP1

Ohje kehitysympäristöstä. Dokumentti: Ohje kehitysympäristöstä.doc Päiväys: Projekti : AgileElephant

Visma GATEWAY INSTALLER. asennusopas

Tietojen lataaminen SOTE-organisaatiorekisteristä omiin tietojärjestelmiin

Simulaattorin asennus- ja käyttöohje

Tuomiorekisterin ratkaisuhaun kehittäminen

Java Runtime -ohjelmiston asentaminen

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Massadigitoinnin kokonaisuus

erasmartcardkortinlukijaohjelmiston

Solteq Tekso v Versiopäivitysohje.

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Henkilö- ja koulutusrekisterin asennusohje

ASENNUS- JA KÄYTTÖOHJE

OHJE Jos Kelaimeen kirjautuminen ei onnistu Mac-koneella Sisällys

Vanhojen potilastietojen arkistointi palvelun käyttöönotto

Visual Case 2. Miika Kasnio (C9767)

Schema Asiakasprofiili.xsd

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

OpenOffice toimisto-ohjelma

KIRJANPITO JA RESKONTRA

FuturaPlan. Järjestelmävaatimukset

DL SOFTWARE Uumajankatu 2 Umeågatan FIN VAASA/VASA FINLAND +358-(0) Fax +358-(0)

OHJE Jos Kelaimeen kirjautuminen ei onnistu Windows-koneilla

Tietojen lataaminen SOTE-organisaatiorekisteristä ja IAH-koodistosta omiin tietojärjestelmiin

T&M Autori Versio Series 60 -puhelimiin

PRINTER DRIVER PÄÄKÄYTTÄJÄN OPAS

Aditro Tikon versio SP1

Viljo-Praktiikka ja Kirjanpito -ohjelman versio 3.0 asennusohje

Visma Business AddOn Installer. Käsikirja

Webpalvelin muistitikulle - Ohje

Yksittäisasennus eli perusasennus

Tekninen rajapinta Zip-tiedosto sovelluskehittäjälle Kansallisen tulorekisterin perustamishanke

CLOUDBACKUP TSM varmistusohjelmiston asennus

Vanhojen potilastietojen arkistointi palvelu

Kanta Potilastiedon arkiston teknisiä ohjeita

Kanta. Potilastiedon arkiston arkistonhoitajan opas

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Sonera Yrityssähköposti. Outlook 2013 lataus ja asennus

Tekninen rajapinta Zip-tiedosto sovelluskehittäjälle Kansallisen tulorekisterin perustamishanke

Potilastiedon arkiston käyttöönotto ja arkistonhoitaja

Linuxissa uusi elämä 1

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Ohjelmistokehitys Skype-klinikka

CLASSIC WINTIME - TOIMITTAJAN ENNAKKOPERINTÄREKISTERIPÄIVÄ

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Paytrail lisäosa WooCommerce alustalle (c) Webbisivut.org

Potilastiedon arkiston käyttöönotto ja arkistonhoitaja. Kela, Kanta-palvelut,

1 Rekisteröityminen Supplier Portal palvelun käyttäjäksi

Potilastiedon arkisto Valmistautuminen tekniseen käyttöönottovaiheeseen Kela, Kanta-palvelut, Viimeisin versio: Kanta.

Toteumatietojen tiedostolataus sisäiseen laskentaan Käsikirja

5. HelloWorld-ohjelma 5.1

Lumon tuotekirjaston asennusohje. Asennus- ja rekisteröintiohje

Visma Document Center Versiosaate

Kerro kuvin: InPrint 2.8 asennus Asennus järjestelmänvalvojan oikeuksin

Asteri Laskutus (Dos)

Schema ReitinTilaus.xsd

KanTa-palvelut. Sähköisen lääkemääräyksen testauspalvelun suunnitelma. versio 1.0

Kanta-palvelut ja palautteiden jakelukäytäntö. Silja Iltanen Palvelupäällikkö, tietosuojavastaava Tietohallinto, Satasairaala

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Opintokohteiden muokkaus

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

Transkriptio:

Kanta-palvelut: Vanhojen potilastietojen validointiohjelma Asennusohje 25.4.2018 Mika Suomalainen

Muutoshistoria Versio Muutos Tekijä PVM 1.0 Ensimmäinen julkaistu versio Mika Suomalainen 17.11.2017 1.1 Tuki Java SE Runtime Environment 7 (JRE) ajoympäristölle, koodistotarkistus kansallisesta koodistopalvelusta, xhtml ja text plain validointi, koontitiedoston validointi, tuki isoille koontitiedostoille, lokikäsittelyn tehostaminen, HEN-näkymän arkistoinnin esto Mika Suomalainen 25.4.2018 Mahdollinen alatunniste /

Sisällys 1. Asennuspaketin sisältö: 4 2. Vaatimukset asennusympäristölle 4 3. Asentaminen 4 3.1 Arkisto-old-documents-validator-1.0.13.tar.gz paketin asennus 4 4. Konfigurointi 4 4.1 olddocuments.properties -tiedoston asetukset 4 4.2 Lokitus 7 4.2.1 Tietokantaloki 7 4.2.2 Log4j 8 5. Asennuksen onnistumisen todentaminen 9 6. Latausohjelman käyttö ja lokit 10 6.1 Konfiguraatio 10 6.2 Ohjelman ensimmäinen ajo 10 6.3 Virheiden korjaaminen 11 6.4 Uudelleenajo 12 6.5 Koontitiedoston skeema 12 Mahdollinen alatunniste /

1. Asennuspaketin sisältö: Asennettava kokonaisuus koostuu seuraavista osista/tiedostoista: Arkisto-old-documents-validator-1.0.13.tar.gz Sisältää vanhojen asiakirjojen validointityökalun toteutusluokat, konfiguraatio-tiedostot ja tarvittavat kirjastot sekä ajoskriptit 2. Vaatimukset asennusympäristölle KANTA Arkistopalvelu vanhojen asiakirjojen latausohjelma vaatii toimiakseen Java SE Runtime Environment 7 (JRE) ajoympäristön. Validoitaessa asiakirjoja Kanta-järjestelmän komponentteja ei tarvita. Koodistotarkistus tapahtuu kansallisesta koodistopalvelusta niin, että koodisto tarkistetaan ajonaikaisesti ja tallennetaan välimuistiin. Koodistotarkistuksen luonteesta johtuen validointiajoa suorittavalta koneelta on oltava yhteys kansalliseen koodistopalveluun (http://koodistopalvelu.kanta.fi). 3. Asentaminen 3.1 Arkisto-old-documents-validator-1.0.13.tar.gz paketin asennus Kirjaudu koneelle, jossa on käytössä tar, java. Pura tar.gz-paketti hakemistoon, josta ohjelmaa ajetaan: $ tar xvfz arkisto-old-documents-validator-1.0.13.tar.gz Paketti sisältää ohjelman tarvitsemat jar-kirjastot, esimerkkikonfiguraatiot ja ohjelman ajoskriptit. Jos ohjelma on jo aiemmin konfiguroitu käyttöön, ota konfiguraatioista varmuuskopio ennen paketin purkamista. 4. Konfigurointi 4.1 olddocuments.properties -tiedoston asetukset # xpathconfig-polku. Konfiguraatiot asiakirjan tietojen validointiin. Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 4 (13)

xpathconfigpath=config/xmlconfig # skeema asiakirjojen validointiin schemapath=config/schema/cda_fi.xsd # skeema xhtml validointiin xhtmlschemapath=config/schema/xhtml1-strict.xsd # skeema koontitiedoston validointiin koontitiedostoschemapath=config/schema/koontitiedosto.xsd #validoitaanko koontiedosto validatekoontitiedosto=true #kansallisen koodistopalvelimen tiedot thl_koodisto_namespace=urn:codeapi:codeservice thl_koodisto_service=codeservice thl_koodisto_wsdl=http://koodistopalvelu.kanta.fi/codeserver/ws/services/codeservice?wsdl thl_koodisto_endpoint=http://koodistopalvelu.kanta.fi/codeserver/ws/services/codeservice #Kuinka monta vuorokautta koodistotarkistuksen tuloksia cachetetaan. thl_koodisto_cachen_ttl=14 # Levylokitiedoston sijainti logpath=logs/runlogs/ # ajon virhelokitiedoston sijainti error_logpath=./logs/ # lokimerkinnän tunniste logid=laturi_1.x #koontitiedoston perusnimi 1. ajokerralla Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 5 (13)

manifestfile =koontitiedosto.xml #uudelleenajo-koontitiedoston nimen alkuosa rerunmanifestfileprefix =rerun_koontitiedosto_ # ajokierrostieto ajokierros=1 # aineiston juuripolku filepath=/data/cdar2-signed/180370-900x/2006 # Käytettävien säikeiden lukumäärä hakemistojen käsittelyyn threadcount_directory = 5 # Käytettävien säikeiden lukumäärä asiakirjojen käsittelyyn threadcount = 50 # Yksittäisen asiakirjan käsittelysäikeen timeout millisekunteina threadtimeout= 60000 # kuinka monta sekuntia asiakirjan luontiaika saa olla tulevaisuudessa offset=5 # Vaadittu palvelunantaja organizationid=1.2.246.99.9999999.88.1 # Liityntäpiste pluginsystemid=1.2.246.99.9999999.88.01 # Vaadittu rekisterinpitäjä asiakirjoilla custodianid=1.2.246.99.9999999.88.1 subsystem=validointiajo Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 6 (13)

checksignature=false validatepdf=true checkpdf=true checktextplain=true checkxhtml=true checkcodes=true testmode=false # Polku tiedostoon joka sisältää hyväksyttävät koodistot ja koodit muodossa koodisto@koodi, yksi per rivi codebasefile=/tmp/codebasefile.txt # Ajonaikana käytettävän tietokannan jdbc-url. Tietokannan polku voidaan muuttaa tarvittaessa. jdbcurl=jdbc:hsqldb:file:/tmp/hsql/validoija/db;hsqldb.write_delay=false # jdbc-ajuri, ei tarvitse muuttaa ellei tietokanta-alustaa vaihdeta toiseksi jdbcdriver=org.hsqldb.jdbcdriver # generoidaanko edellisen version mukainen rerun-loki. Voi olla hyödyksi backup:ina. rerunlog=false logall=true sqllog=/tmp/redolog 4.2 Lokitus 4.2.1 Tietokantaloki Sovellus tuottaa tietokantaan lokia onnistuneesti käsitellyistä hakemistoista, palvelutapahtumista ja asiakirjoista. Tietokanta koostuu seuraavista tauluista kuvauksineen: ASIAKIRJA CDA_ID asiakirjan oid TILA asiakirjan tila Onko asiakirja käsitelty onnistuneesti (OK/ERROR) TIEDOSTOPOLKU asiakirjan polku Sijainti tiedostojärjestelmässä. Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 7 (13)

HAKEMISTOTAULU HAKEMISTO hakemistopolku Onnistuneesti käsitellyt hakemistot lisätään tähän tauluun. Uudelleenajossa näitä hakemistoja ei enää lueta. MANIFESTVIRHE TIEDOSTO manifest-tiedoston polku Virheelliset manifest-tiedostot lokitetaan tähän tauluun PALVELUTAPAHTUMA CDA_ID ASIAKIRJATARKISTOITU palvelutapahtuman oid onko asiakirjat käsitelty onnistuneesti true jos palvelutapahtuman kaikki asiakirjat on arkistoitu / validoitu onnistuneesti. Käytetään uudelleenajossa VIRHETAULU CDA_ID asiakirjan oid asiakirjan oid KUVAUS virheen kuvaus Virheen kuvaus TARKKAKUVAUS virheen tarkempi kuvaus Virheen tarkka kuvaus KOODI virheen koodi Virhekoodi laturista tai ulkoisesta järjestelmästä KORJATTU Käytetään ajonaikaisesti, jos asiakirjassa on virhe joka on uudelleenajossa korjattu asetetaan arvoksi true VIRHEHAKEMISTOTAULU HAKEMISTO virheellinen hakemisto mm. hakemistot joihin ei ole oikeutta lokitetaan tähän tauluun 4.2.2 Log4j Tietokantaan saa ajon jälkeen yhteyden HSQLDB käyttöliittymätyökalulla. Koska tietokantamoottori pyörii ajonaikaisen jvm:n sisällä kaksi java-instanssia ei voi käyttää yhtä aikaa samoja tietokantatiedostoja. Eli käyttöliittymää ja validaattoria ei voi ajaa yhtä aikaa. Sovellus lokittaa omaan erityiseen lokiinsa edellä mainitun properties-tiedoston mukaan Log4jpohjainen palveluloki voidaan konfiguroida seuraavasti: Ohjelman polkuun annetaan log4j.properties-tiedosto. Sovelluspaketin mukana on seuraavanlainen esimerkkikonfiguraatio, jota voidaan tarpeen mukaan muokata. Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 8 (13)

#------------------- KANTA ARKISTOERAJOJEN LOKI -------------------------- log4j.logger.fi.kanta=debug,eraajolog log4j.appender.eraajolog=org.apache.log4j.rollingfileappender log4j.appender.eraajolog.file=/tmp/olddocuments.log log4j.appender.eraajolog.maxfilesize=50mb log4j.appender.eraajolog.maxbackupindex=5 log4j.appender.eraajolog.layout=org.apache.log4j.patternlayout log4j.appender.eraajolog.layout.conversionpattern=%d{dd.mm.yyyy HH:mm:ss.SSS} %-5p [%t] : %c{1}::%m %m%n Sinisellä merkittyjä kohtia on mahdollista muuttaa tarpeen mukaan. Oman lokinsa säätövivuilla logall säätää sitä, lokitetaanko onnistuneet tapahtumat vai pelkästään epäonnistuneet. Tuotantoasetukset Tehokkuussyistä täytyy isojen asiakirjamassojen käsittelyssä kääntää lokitus kirjoittamaan korkeintaan INFO -tasoiset viestit, mielellään vain WARN ja ERROR -tasoiset. Näin tekninen lokitus ei hidasta asiakirjojen tallennuksia arkistoon. Esim. log4j.logger.fi.kanta=info,eraajolog log4j.logger.fi.kanta=warn,eraajolog Virhelokitus Ohjelma kerää mahdolliset ajonajanaikaiset virheet errors.log tiedostoon, jonka hakemisto annetaan konfigurointitiedostossa. Virhelokista käy ilmi tiedoston polku ja nimi sekä virheen seliteteksti. Virheet listautuvat lokille siinä järjestyksessä, kun niitä ilmenee, joten useamman hakemiston latauksissa järjestys ei ole hakemistokohtainen. Tiedosto kannattaa poistaa ennen uutta ajokierrosta, jolloin näkee helposti ajon onnistumisen. Jos virheloki jää tyhjäksi on ajo mennyt onnistuneesti läpi. Jos tiedostoa ei poisteta, lokitus jatkuu tiedoston lopusta log4j.logger.errorlog=error,errorlog log4j.appender.errorlog=org.apache.log4j.fileappender log4j.appender.errorlog.file=./logs/errors.log log4j.appender.errorlog.layout=org.apache.log4j.patternlayout log4j.appender.errorlog.layout.conversionpattern=%d{dd.mm.yyyy HH:mm:ss.SSS} %-5p : %m%n 5. Asennuksen onnistumisen todentaminen Aja pieni koe-erä asiakirjoja ja katso lokilta onnistuiko niiden validointi. Ohjelmalle olevista testeistä on erillinen testausohje. Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 9 (13)

6. Latausohjelman käyttö ja lokit Validointiohjelma ajetaan käynnistämällä paketissa mukana oleva validoi Palvelu- ja virhelokille kirjoitetaan log4j-määritysten mukaisesti tietoa ohjelmiston toiminnasta ja suorituksesta sekä virhetilanteista laajemmat java-ilmoitukset. Ennen ohjelman ajoa on tärkeää konfiguroida oikein olddocuments.properties -tiedosto. Tiedostoon konfiguroidaan mm. ajettavan aineiston sijainti levyllä. 6.1 Konfiguraatio Ennen latausajoa tarkastetaan, että ajolle on konfiguroitu aineiston mukaiset asetukset - palvelunantaja - rekisterinpitäjä sekä - liityntäpiste ja palvelupyyntötyyppi. Suoritusoikeus tarkistus konfiguraatiosta Konfiguraatiossa määritetyn palvelunantajan täytyy vastata ladattavan aineiston koontitiedosto.xml palveluntantajaa, muuten hakemiston suoritus päättyy virheeseen. organizationid=1.2.246.537.10.15675350.10.0 <palvelutapahtumat palvelujenantaja="1.2.246.537.10.15675350.10.0".. /> Suoritusoikeuden tarkistus palvelulta Suoritusoikeus arkistointiin tarkastetaan hakemistokohtaisesti, jolloin luetaan aineiston palvelunantaja ja konfiguraatiossa määritetyt liityntäpiste ja palvelupyyntötyyppi. pluginsystemid=1.2.246.99.9999999.88.01 Rekisterinpitäjätarkistus Rekisterinpitäjän vastaavuus tarkastetaan asiakirjakohtaisesti lukemalla tiedot konfiguraatiosta sekä asiakirjasta. custodianid=1.2.246.537.10.15675350.19.0 6.2 Ohjelman ensimmäinen ajo Tarkista että lokihakemisto on tyhjä, jos sieltä löytyy runlogs hakemisto, ajo päättyy virheeseen. Ajonaikana käytettävän tietokannan tulee olla alussa tyhjä, tarkista olddocument.properties tiedoston jdbcurl: jdbcurl=jdbc:hsqldb:file:/tmp/hsql/validoija/db;hsqldb.write_delay=false Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 10 (13)

jdbcurl muuttujassa osoitettu hakemisto tulee olla tyhjä, viimeinen osio polussa kuvaa tietokantatiedostojen nimeä, esim: $ pwd && ls /tmp/hsql/laturi db.properties db.script Aja validointi komennolla:./validoi.sh Jos ajo menee loppuun asti kaatumatta, tulostuu yhteenveto: Asiakirjoja arkistoitu / validoitu 433 OK 2 ERROR Virheellisiä manifest tiedostoja 1 143 TRUE 2 FALSE Hakemistoja käsitelty onnistuneesti 27 Eräajo päättyi: Thu Oct 26 14:02:31 EEST 2017, kesto 19372 ms Palvelutapahtumat (lukumäärä, onko kaikki asiakirjat arkistoitu/validoitu) Esimerkissä on kaksi dokumenttia jotka eivät ole valideja eikä niitä ole arkistoitu. Lisäksi mukana oli virheellinen manifest (koontitiedosto.xml), joten ko. hakemiston kaikki asiakirjat ovat arkistoitumatta. Jos ajossa ei tullut virheitä on validointi valmis. Jos ajossa oli virheitä tai ajo kaatui virheeseen josta latausohjelma ei voi jatkaa, virheet tulee korjata ja suorittaa uudelleenajo. Katso ohjeita virheenselvitykseen kappaleesta 7.3 6.3 Virheiden korjaaminen Virheet löytyvät helposti errors.log tiedostosta, mutta jos virheitä on huomattava määrä, kaikki asiakirjavirheet saadaan tietokannasta sh-skriptillä./raportti.sh Jos ajo kaatui ajonaikana muuhun kuin asiakirjavirheeseen tutki errors.log ja olddocuments.log tiedostoja. Syy pitäisi löytyä java-exception:in muodossa. Korjaa virhe ja suorita uudelleenajo. Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 11 (13)

6.4 Uudelleenajo Ota varmuuskopio logs/runlogs hakemistosta jos hakemisto löytyy ja poista se. Uudelleenajo tapahtuu komennolla:./validointi_uudelleenajo.sh Tietokantaa ei saa tyhjentää uudelleenajoon koska kanta sisältää tiedon jo onnistuneesti validoiduista hakemistoista, palvelutapahtumista ja asiakirjoista. 6.5 Koontitiedoston skeema <?xml version="1.0" encoding="utf-8"?> <!-- PDF/A -aineiston koontitiedoston XML Schema V 1.0 17.10.2013. Kansaneläkelaitos. --> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="palvelutapahtumat" type="palvelutapahtumattyyppi"/> <xs:complextype name="palvelutapahtumattyyppi"> <xs:sequence> <xs:element maxoccurs="unbounded" ref="palvelutapahtuma"/> </xs:sequence> <xs:attribute name="palvelujenantaja" type="oidtyyppi" use="required"/> </xs:complextype> <xs:element name="palvelutapahtuma" type="palvelutapahtumatyyppi"/> <xs:element name="asiakirja" type="asiakirjatyyppi"/> <xs:complextype name="asiakirjatyyppi"> <xs:attribute ref="id" use="required"/> Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 12 (13)

</xs:complextype> <xs:complextype name="palvelutapahtumatyyppi"> <xs:sequence> <xs:element maxoccurs="unbounded" ref="asiakirja"/> </xs:sequence> <xs:attribute ref="id" use="required"/> <xs:attribute name="saved" type="xs:boolean" use="optional"/> </xs:complextype> <xs:attribute name="id" type="oidtyyppi"/> <xs:simpletype name="oidtyyppi"> <xs:restriction base="xs:string"> <xs:pattern value="[0-2](\.(0 [1-9][0-9]*))*"/> </xs:restriction> </xs:simpletype> </xs:schema> Vanhojen tietojen validointiohjelma, Asennusohje_V2.docx 13 (13)