Hjem  >  eInnsyn  >  datamodell

Publisering til eInnsyn

eInnsyn nyttar eFormidling til transport av data mellom innhaldsleverandørar og eInnsyn. Meldingane til eInnsyn er basert på Noark, men konvertert til json-ld som er ei RDF-serialisering. Datafelta, klassar og koplingane mellom dei er i stor grad det same, men formatet er ulikt

eInnsyn har fleire ulike meldingstypar ein sender gjennom eInnsyn. At meldinga er ei eInnsyn melding og kva type det er, spesifiserast ihh til denne spesifikasjonen.

Sjølve meldingsinnhaldet, og data som skal sendast til eInnsyn, angir man i fila payload.jsonld.

Her er eksempel på jsonld-fil og tilsvarande data som Noark5-xml

Publisering til eInnsyn kan gjøres på to måter:

  • Ved bruk av eInnsyn-klient. Klienten kan motta data på Noark4/5 xml format. Den vil da validere og konvertere data til jsonld som sendes til integrasjonspunktet. Klienten kan også benyttes til å validere json-ld format.
  • Direkteintegrasjon, dvs. poste meldinger direkte til integrasjonspunktet. Meldingene må da være i jsonld-format (både compact og extended er støttet). Det er en maks størrelse på meldinger som kan sendes på 1 MB, det er derfor intensjonen at systemer som benytter direkteintegrasjon sender mest mulig atomiske meldinger (eks. en og en journalpost/møtesak). Ved oppdatering/endring av en registrering må all relevant informasjon (referanse til parent, dokumentbeskrivelse og dokumentobjekt) sendes på nytt, ellers blir dette utelatt (“slettet”).

Identifikator strategi

Ved direkteintegrasjon med Json-ld ID på klasser/typer (journalpost, saksmappe, møtemappe, møtedokumentregistrering, møtesaksregistrering, dokumentbeskrivelse og dokumentobjekt) kan defineres av avleverende system. Anbefalingen fra eInnsyn er at UUID som benyttes i URI er samme som finnes i avleverende system fra før. Dette for å unngå duplikat og kunne støtte både slettemeldinger og innsynskrav versjon 2 (order-v2.xml) fremover. SystemID i Noark v.5+ anbefales der den er av UUID versjon 1,2 eller 4. Namespace i URI må gjerne settes likt for alle klasser/typer. Ved bruk av Json-ld compact versjon gjøres dette enkelt ved “base”-verdien i context:

{
  "@context": {
    "@base": "http://data_test.einnsyn.no/",
    "arkiv": "http://www.arkivverket.no/standarder/noark5/arkivstruktur/",
    "xsd": "http://www.w3.org/2001/XMLSchema#"
  },
  "@graph": [
    {
      "@id": "692650f3-f090-4ab0-a2ee-d564adb5644f",
      "@type": "arkiv:Saksmappe",
	.....

http://data_test.einnsyn.no/ er her bare eksempel, og en leverandør må gjerne sette den til noe annet. Ved bruk av extended json-ld format vil eksempelet over se slik ut:

[
	{
    "@id": "http://data_test.einnsyn.no/692650f3-f090-4ab0-a2ee-d564adb5644f",
    "@type": [
      "http://www.arkivverket.no/standarder/noark5/arkivstruktur/Saksmappe"
    ],
	.....

Ved bruk av klient og Noark 5 xml Klienten vil konvertere til Jsonld og ID vil bli generert utfra SystemID der det er oppgitt, ellers vil den generere egne uuid’er. Namespace settes likt på alle typer/klasser (http://data.einnsyn.no/noark5/)

Ved bruk av klient og Noark 4 xml Klienten konverterer til jsonld og ID blir generert utfra orgnr, sakssekvensnummer/saksaar og journalnummer/journalaar. Uuid blir generert på dokumentbeskrivelser/dokumentobjekter. Namespace settes likt på alle typer/klasser (http://data.einnsyn.no/noark4/)

Strukturering av publiseringen

eInnsyn forsøker i så stor grad som mogleg å legge til rette for løpande overføring. Og strukturen legg opp til dette sjølv i tilfeller der dette ikkje er tilfelle. Json-ld filene med data skal derfor vere sentrert rundt ein instans av registrering. Der det t.d er fleire journalpostar i samme saksmappe, eller dokument som tilhøyrer fleire journalpostar. Så vil dette dupliserast for kvar journalpost. På samme måte så vil møteregistreringar og møtedokument i samme møte sendast som separate meldingar. Dersom 2 registreringar referear til kvarandre skal dei like vel sendast som separate meldingar Eksempel på splitta forsendelse

Fulltekstpublisering

For å fulltekstpublisere trengst det at ein set opp eit fillager lokalt som er tilgjengeleg frå internett. Ein legg der dokumenta som skal fulltekstpubliserast. I metadata som blir sendt til eInnsyn legg ein så inn lenke til dokumenta som er skal fulltekstpubliserast.

Fulltekstlenke vert lagt i feltet referanseDokumentfil, som ligg under dokumentobjekt-klassen. Eksempelfilene ovanfor har eksempel på korleis ein lenkar inn fullteksturl.

Delvis Fulltekstpublisering

Det er mogleg å fulltekstpublisere kun delar av dokumenta som er tilknytta ein registrering. Samtidig kan det ofte vere ønskeleg å vise at det t.d finst vedlegg ein ikkje har publisert.

For å få til dette så kan ein avlevere dokumentbeskrivelsen på alle dokument ein vil vise at eksistere. For dei som skal fulltekstpubliserast, så følger også med dokumentobjektet som ligg under dokumentbeskrivelsen.

Struktur fulltekspublisering

Kvittering på publisert data

Flyttet hit

Slettemeldinger

Sletting fra eInnsyn kan automatiseres ved å sende slettemelding. Dette sendes på samme måte som en journalpost (samme meldingstype i eFormidling) med en slettemelding som payload. Eksempel på slettemelding:

<?xml version="1.0" encoding="UTF-8"?>
<trekkTilbake
        xmlns="http://www.arkivverket.no/standarder/noark5/arkivstruktur" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <registrering xsi:type="journalpost">
        <systemID>fb81a8d1-c78a-4447-9710-b668fd144769</systemID>
    </registrering>
</trekkTilbake>

Eksempel på slettelding som jsonld:

{
  "@context": {
    "@base": "http://elefant/vedlegg/",
    "arkiv": "http://www.arkivverket.no/standarder/noark5/arkivstruktur/",
	"einnsyn": "http://data.einnsyn.no/",
    "xsd": "http://www.w3.org/2001/XMLSchema#"
  },
  "@graph": [
    {
      "@graph": [
        {
          "@id": "3056b799-a88e-435b-95fc-4b7621b57d27",
          "@type": "arkiv:Journalpost"
        },
		{
          "@id": "692650f3-f090-4ab0-a2ee-d564adb5644f",
          "@type": "arkiv:Saksmappe"
        }
      ],
      "@id": "f96f9e3f-390b-4287-a9ce-6856c8625bb6"
    },
    {
      "@graph": [
        {
          "@id": "f96f9e3f-390b-4287-a9ce-6856c8625bb6",
          "@type": "einnsyn:graftype/TrekkeTilbakeGraf"
        }
      ],
      "@id": "einnsyn:graf/meta"
    }
  ]
}