Case File (Saksmappe
) is folder type, which keeps journaled (ordered) set of records. This is the most commonly used folder type, since it is used to model continuous chronological process.
Saksmappe
.Saksmappe
) is created/modified using the Transaction :: POST /transaction
operation.Saksmappe
) should be associated to a Series (Arkivdel
)Saksmappe
) can be created without Case Party (Sakspart
), multiple Case Party (Sakspart
) entities instances can be linked to a case fileJournalpost
) and Basic Record (Basisregistrering
) can be created under a Case File (Saksmappe
)Very common approach is to add to the Case File (Saksmappe
) an External ID (EksternId
) which contains the quality/business system case identifier.
This allows integrating parties to find case files in Documaster using their own case file IDs.
Diagram showing the relation of Case File (Saksmappe) to other core entities through its reference fields. The diagram depicts the most important set of fields, leaving some of the use cases out of it for simplicity.
Following the Noark5 specification requirements and the internal implementation details the following set of data fields are present for all entities :
Field Name | Type | Noark Metadata No. | Required on Create | Value Always Available | Modifiable | Description |
---|---|---|---|---|---|---|
id |
string | unique entity identifier in the specific Documaster installation, used for referencing the entity in the API. The id for created entities is a numeric value.Default : new value generated on creation Sortable |
||||
version |
string | contains the verions of the entity, used for optimistic locking Default : sequence version number of the entity |
||||
uuid |
string | M001 | globally unique identification of the entity, an UUID value (sysemId) Default : new value generated on creation Indexed, Sortable |
|||
opprettetDato |
timestamp | M600 | date and time at which the entity was created (createdDate) Default : current date time Indexed, Sortable |
|||
opprettetAv |
string | M601 | name of the user that created the entity (createdBy) Default : logged in user name Sortable |
|||
opprettetAvBrukerIdent |
string | M601 | identifier of the user that created the entity (createdByIdent) Default : logged in user identifier Sortable |
Saksmappe
Specific Data FieldsField Name | Type | Noark Metadata No. | Required on Create | Value Always Available | Modifiable | Description |
---|---|---|---|---|---|---|
avsluttetDato |
timestamp | M602 | date and time when the archive unit was finalized (finalizedDate). The value cannot be modified, supplied, unless the case file is closed (saksstatus = ‘A’). Sortable |
|||
avsluttetAv |
string | M603 | name of the user who finalized the archive unit (finalizedBy) Sortable |
|||
avsluttetAvBrukerIdent |
string | M603 | unique identifier of the user who finalized the archive unit (finalizedByIdent) Sortable |
|||
prefiks |
string | optional identifier of the system from which the case file originated, the value cannot be changed once set Sortable |
||||
mappeIdent |
string | M003 | unambiguous identification of the case file within the fonds to which the case file belongs (fileId) Default : year/sequenceNumber in archive, example 2022/109 Indexed, Sortable |
|||
mappetype |
string | Code List : mappetype Indexed |
||||
tittel |
string | M020 | title of the archive (title) Indexed, Sortable |
|||
offentligTittel |
string | M025 | public title of the case file, words that should be screened have been removed from the content of the title (replaced with ******) (publicTitle) Sortable |
|||
beskrivelse |
string | M021 | description of the case file (description) | |||
dokumentmedium |
string | M300 | indication of whether the archive unit contains physical documents, electronic documents or a mixture of physical and electronic documents Code List : dokumentmedium Default : E - Elektronisk arkivIndexed |
|||
saksaar |
number | M011 | year the case file was created Default : current year Indexed, Sortable |
|||
sakssekvensnummer |
number | M012 | order in which the case file was created within the year (caseSequenseNumber) Default : sequence number Sortable |
|||
saksdato |
date | M100 | date the case is created (caseDate) Default : current date Sortable |
|||
administrativEnhet |
string | M305 | name of department, office or other administrative unit responsible for the case handling. (administrativeUnit) Code List : administrativEnhet Sortable |
|||
saksansvarlig |
string | M306 | name of the person who responsible for the case.Both this field and saksansvarligBrukerIdent are free text fields, which can be freely modified. (caseResponsible) Default : currently logged in user Sortable |
|||
saksansvarligBrukerIdent |
string | M306 | identifier of the person who responsible for the case. Both this field and saksansvarlig are free text fields, which can be freely modified. (caseResponsibleId) Default : currently logged in user ID Sortable |
|||
saksstatus |
string | M052 | status of the case file, ie how far the case handling has come. (caseFileStatus) Code List : saksstatus Default : B - Under behandlingIndexed |
|||
skjerming |
string | M500 | indication that the documents belonging to the case file are not publicly available in accordance with the Public Access to Information Act (offentlighetsloven) or for any other reason (accessRestriction) Code List : skjerming Indexed |
|||
virksomhetsspesifikkeMetadata |
object | M711 | overarching metadata element that can contain custom metadata. When metadata for an entity is updated, the whole of it is ovewritten. Examples for handling business specific metadata can be found in the usage section of the page. (businessSpecificMetadata) Not Queryable |
Field Name | Referenced Entity Type | Cardinality | Link Required on Create | Modifiable | Description |
---|---|---|---|---|---|
refArkivdel |
Arkivdel |
1 | reference to the Series (Arkivdel ) to which the Case File (Saksmappe ) belongsReturned |
||
refRegistrering |
AbstraktRegistrering |
0 . . * | reference to a list of Records (AbstraktRegistrering ) which can be either Basic Record (BasisRegistrering ) or Registry Entry (Journalpost ) |
||
refSakspart |
Sakspart |
0 . . * | reference to a list of Case Party (Sakspart ) entities |
||
refPrimaerKlasse |
Klasse |
1 . . * | reference to the primary Class (Klasse ) associated with the Case File (Saksmappe ) Returned |
||
refSekundaerKlasse |
Klasse |
0 . . * | reference to a list of secondary Classes (Klasse ) associated with the Case File (Saksmappe ) |
||
refEksternId |
EksternId |
0 . . * | reference to a list of External ID (EksternId ) entities, containing the case file identification in external systems |
||
refNoekkelord |
Noekkelord |
0 . . * | reference to a list of Keywords (‘Noekkelord’) entities associated with the Case File (Saksmappe ) |
||
refMerknad |
Merknad |
0 . . * | reference to a list of Notes (‘Merknad’) entities associated with the Case File (Saksmappe ) |
||
refNasjonalIdentifikator |
NasjonalIdentifikator |
0 . . * | reference to a list of National Identifiers (‘NasjonalIdentifikator’) entities associated with the Case File (Saksmappe ) |
||
refKryssreferanseTilMappe |
AbstraktMappe |
0 . . * | reference to a list of Folders (AbstraktMappe ) to which the current case file has cross-reference |
||
refKryssreferanseFraMappe |
AbstraktMappe |
0 . . * | reference to a list of Folders (AbstraktMappe ) from which the current case file is being cross-referenced |
||
refKryssreferanseTilRegistrering |
AbstraktRegistrering |
0 . . * | reference to a list of Folders (AbstraktMappe ) to which the current case file has cross-reference |
||
refKryssreferanseFraRegistrering |
AbstraktRegistrering |
0 . . * | reference to a list of Folders (AbstraktMappe ) from which the current case file is being cross-referenced |
||
refPresedens |
Presedens |
0 . . * | reference to a Precedent (Presedens ) associated to this case file |
Case Party (Sakspart
) is an entity representing a person related to the case file.
Sakspart
.Sakspart
) is created/modified using the Transaction :: POST /transaction
operation.Saksmappe
) can have multiple Case Party (Sakspart
), but they are owned by the Case File (Saksmappe
) entity and cannot be linked to other case files.Following the Noark5 specification requirements and the internal implementation details the following set of data fields are present for all entities :
Field Name | Type | Noark Metadata No. | Required on Create | Value Always Available | Modifiable | Description |
---|---|---|---|---|---|---|
id |
string | unique entity identifier in the specific Documaster installation, used for referencing the entity in the API. The id for created entities is a numeric value.Default : new value generated on creation Sortable |
||||
version |
string | contains the verions of the entity, used for optimistic locking Default : sequence version number of the entity |
||||
uuid |
string | M001 | globally unique identification of the entity, an UUID value (sysemId) Default : new value generated on creation Indexed, Sortable |
|||
opprettetDato |
timestamp | M600 | date and time at which the entity was created (createdDate) Default : current date time Indexed, Sortable |
|||
opprettetAv |
string | M601 | name of the user that created the entity (createdBy) Default : logged in user name Sortable |
|||
opprettetAvBrukerIdent |
string | M601 | identifier of the user that created the entity (createdByIdent) Default : logged in user identifier Sortable |
Sakspart
Specific Data FieldsField Name | Type | Noark Metadata No. | Required on Create | Value Always Available | Modifiable | Description |
---|---|---|---|---|---|---|
sakspartIdent |
string | M010 | unique ID for the case party (casePartyId) Sortable |
|||
sakspartNavn |
string | M302 | name of the case party (casePartyName) Sortable |
|||
sakspartRolle |
string | M303 | role of the case party in the case file Sortable |
|||
foedselsnummer |
string | personal national identifier for all Norwegian citizens containing the data of birth as the first 6 digits (nationalIdentifier) Sortable |
||||
organisasjonsnummer |
string | organization number (orgNumber) Sortable |
||||
dnummer |
string | personal number assigned to temporary residents of Norway Sortable |
||||
postadresse |
string | M406 | mailing address of a sender/receiver or party (mailingAddress) Sortable |
|||
postnummer |
string | M407 | postal code of a sender/receiver or party (postalCode) Sortable |
|||
poststed |
string | M408 | city where a sender/receiver or party is located (city) Sortable |
|||
land |
string | M409 | country if the mailing address is abroad (country) Sortable |
|||
epostadresse |
string | M410 | email address of a sender/receiver or party (emailAddress) Sortable |
|||
telefonnummer |
string | M411 | phone number of a sender/receiver or party (phone) Sortable |
|||
kontaktperson |
string | M412 | contact person of a organization who is sender, receiver or part (contactPerson) Sortable |
|||
virksomhetsspesifikkeMetadata |
object | M711 | overarching metadata element that can contain custom metadata. When metadata for an entity is updated, the whole of it is ovewritten. Examples for handling business specific metadata can be found in the usage section of the page. (businessSpecificMetadata) Not Queryable |
Field Name | Referenced Entity Type | Cardinality | Link Required on Create | Modifiable | Description |
---|---|---|---|---|---|
refMappe |
Saksmappe |
1 | reference to Case File (Saksmappe ), a Case Party is owned by a single Case File |
Case Files (Saksmappe
) are created using transaction
API, where in a single transaction the newly created case file must be linked to a single Series (Arkivdel
), through reference Saksmappe::refArkivdel
, and to one primary Class (Klasse
), through reference Saksmappe::refPrimaerKlasse
, part of the Classification System (Klassifikasjonssystem
) linked to the series. Case File (Saksmappe
) can be linked to more than one Class (Klasse
) as secondary class, using the reference SaksMappe::refSekundaerKlasse
. Additionally the example below is adding an External ID (EksternId
), which is an identifier of the case file in an external system. ExternalID (EksternId
) is not required to create a case file, but very useful if external identifiers are available, since the value can be used to search on it.
transaction::save
- new Case File (Saksmappe
)transaction::link
- link new case file to existing Series (Arkivdel
) with id 688transaction::link
- link new case file to existing Class (Klasse
) with id 681 as primary, through refPrimaerKlasse
transaction::link
- link new case file to existing Class (Klasse
) with id 681 as secondary, through refSekundaerKlasse
transaction::link
- link new case file to existing Class (Klasse
) with id 681 as secondary, through refSekundaerKlasse
transaction::save
- new ExternalID (EksternId
) with external ID value of ISID:0000004573transaction::link
- link new externalID to newly created case file through refMappe
reference fieldAs a result of the transaction new Case File (Saksmappe
) is created with id 1131.
Request
POST https://<documaster-instance>.local.documaster.tech:8083/rms/api/public/noark5/v1/transaction HTTP/1.1
...
Authorization: Bearer {{accessTokenIntegrator}}
Content-Type: application/json
X-Documaster-Error-Response-Type: application/json
{
"actions": [
{
"action": "save",
"type": "Saksmappe",
"id": "saksmappe-temp-id-1",
"fields": {
"tittel": "API Created Case File - 3",
"beskrivelse": "Third API created Case File",
"administrativEnhet": "AD1"
}
},
{
"action": "link",
"type": "Saksmappe",
"id": "saksmappe-temp-id-1",
"ref": "refArkivdel",
"linkToId": "688"
},
{
"action": "link",
"type": "Saksmappe",
"id": "saksmappe-temp-id-1",
"ref": "refPrimaerKlasse",
"linkToId": "681"
},
{
"action": "link",
"type": "Saksmappe",
"id": "saksmappe-temp-id-1",
"ref": "refSekundaerKlasse",
"linkToId": "1111"
},
{
"action": "link",
"type": "Saksmappe",
"id": "saksmappe-temp-id-1",
"ref": "refSekundaerKlasse",
"linkToId": "1113"
},
{
"action": "save",
"type": "EksternId",
"id": "eksternId-temp-id-1",
"fields": {
"eksterntSystem": "Integrating System",
"eksternID": "ISID:0000004573"
}
},
{
"action": "link",
"type": "EksternId",
"id": "eksternId-temp-id-1",
"ref": "refMappe",
"linkToId": "saksmappe-temp-id-1"
}
]
}
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"saved": {
"saksmappe-temp-id-1": {
"type": "Saksmappe",
"id": "1131",
"version": "10",
"fields": {
"uuid": "e8716b6e-3455-4148-870f-6435aa46cf5a",
"opprettetDato": "2021-12-07T12:05:56.134+0100",
"opprettetAv": "External Integrator ACME",
"opprettetAvBrukerIdent": "e6e6318e-fdcb-41cb-ae3a-1940f98ea153",
"mappeIdent": "2021/9",
"tittel": "API Created Case File - 3",
"beskrivelse": "Third API created Case File",
"dokumentmedium": "E",
"saksaar": 2021,
"sakssekvensnummer": 9,
"saksdato": "2021-12-07T12:05:56.149+0100",
"administrativEnhet": "AD1",
"saksansvarlig": "External Integrator ACME",
"saksansvarligBrukerIdent": "e6e6318e-fdcb-41cb-ae3a-1940f98ea153",
"saksstatus": "B"
},
"links": {
"refPrimaerKlasse": 681,
"refArkivdel": 688
}
},
"eksternId-temp-id-1": {
"type": "EksternId",
"id": "1132",
"version": "2",
"fields": {
"uuid": "835e8ef5-7127-41dc-8a0c-09edcc0ea6c4",
"opprettetDato": "2021-12-07T12:05:56.149+0100",
"opprettetAv": "External Integrator ACME",
"opprettetAvBrukerIdent": "e6e6318e-fdcb-41cb-ae3a-1940f98ea153",
"eksterntSystem": "Integrating System",
"eksternID": "ISID:0000004573"
},
"links": {
"refMappe": 1131
}
}
}
}
Case Files (Saksmappe
) can have multiple Case Party (Sakspart
) entity objects linked to them. Case Party (Sakspart
) represents a person related to the case file in a particular role.
transaction::save
- new Case Party (Sakspart
)transaction::link
- link new case party to existing Case File (Saksmappe
) with id 1131 through refMappe
reference fieldAs a result of the transaction new Case Party (Saks[art
) is created with id 1136 and associated with the Case File (Saksmappe
).
Request
POST https://<documaster-instance>.local.documaster.tech:8083/rms/api/public/noark5/v1/transaction HTTP/1.1
...
Authorization: Bearer {{accessTokenIntegrator}}
Content-Type: application/json
X-Documaster-Error-Response-Type: application/json
{
"actions": [
{
"action": "save",
"type": "Sakspart",
"id": "sakspart-temp-id-1",
"fields": {
"sakspartNavn": "Kari Nordmann",
"sakspartRolle": "Handler",
"epostadresse": "kari.nordmann@dummy.no"
}
},
{
"action": "link",
"type": "Sakspart",
"id": "sakspart-temp-id-1",
"ref": "refMappe",
"linkToId": "1131"
}
]
}
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"saved": {
"sakspart-temp-id-1": {
"type": "Sakspart",
"id": "1136",
"version": "2",
"fields": {
"uuid": "37baa8e6-b993-4137-9a2a-791a5991f1d1",
"opprettetDato": "2021-12-09T14:04:15.316+0100",
"opprettetAv": "External Integrator ACME",
"opprettetAvBrukerIdent": "e6e6318e-fdcb-41cb-ae3a-1940f98ea153",
"sakspartNavn": "Kari Nordmann",
"sakspartRolle": "Handler",
"epostadresse": "kari.nordmann@dummy.no"
},
"links": {
"refMappe": 1131
}
}
}
}
Retrieving a Case File (Saksmappe
) that has a specific ExternalID (EksternId
) is done using the refEksternId
reference field of CaseFile (Saksmappe
).
Request
POST https://<documaster-instance>.local.documaster.tech:8083/rms/api/public/noark5/v1/query HTTP/1.1
...
Authorization: Bearer {{accessTokenIntegrator}}
Content-Type: application/json
X-Documaster-Error-Response-Type: application/json
{
"type": "Saksmappe",
"limit": 1,
"query": "refEksternId.eksterntSystem = @externalSystemID && refEksternId.eksternID = @externalID",
"parameters" : {
"@externalSystemID": "Integrating System 1",
"@externalID" : "ISID:0000004573"
}
}
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"hasMore": false,
"results": [
{
"type": "Saksmappe",
"id": "1131",
"version": "10",
"fields": {
"uuid": "e8716b6e-3455-4148-870f-6435aa46cf5a",
"opprettetDato": "2021-12-07T12:05:56.134+0100",
"opprettetAv": "External Integrator ACME",
"opprettetAvBrukerIdent": "e6e6318e-fdcb-41cb-ae3a-1940f98ea153",
"mappeIdent": "2021/9",
"tittel": "API Created Case File - 3",
"beskrivelse": "Third API created Case File",
"dokumentmedium": "E",
"saksaar": 2021,
"sakssekvensnummer": 9,
"saksdato": "2021-12-07",
"administrativEnhet": "AD1",
"saksansvarlig": "External Integrator ACME",
"saksansvarligBrukerIdent": "e6e6318e-fdcb-41cb-ae3a-1940f98ea153",
"saksstatus": "B"
},
"links": {
"refPrimaerKlasse": 681,
"refArkivdel": 688
}
}
]
}
The query below is querying for a Case File (Saksmappe
) linked to two distinct secondary classes (Klasse
). The query uses joins to perform the filtering. Response is omitted since it is the same as the example from the previous example.
Request
POST https://<documaster-instance>.local.documaster.tech:8083/rms/api/public/noark5/v1/query HTTP/1.1
...
Authorization: Bearer {{accessTokenIntegrator}}
Content-Type: application/json
X-Documaster-Error-Response-Type: application/json
{
"type": "Saksmappe",
"limit": 2,
"query": "#secClass1.id = @class1 && #secClass2.id = @class2",
"parameters" : {
"@class1" : "1111",
"@class2" : "1113"
},
"joins": {
"#secClass1" : "refSekundaerKlasse",
"#secClass2" : "refSekundaerKlasse"
},
"sortOrder" : [
{
"field" : "mappeIdent",
"order" : "desc"
}
]
}
The query below is querying for a set of Case Files (Saksmappe
) that are with particular status, created in a particular time frame and with a particular primary class (and classification system). Response is omitted since it is the same as the example from the previous example.
Request
POST https://integrationtest.dev.documaster.tech:8083/rms/api/public/noark5/v1/query HTTP/1.1
...
Authorization: Bearer {{accessTokenIntegrator}}
Content-Type: application/json
X-Documaster-Error-Response-Type: application/json
{
"type": "Saksmappe",
"limit": 20,
"query": "refPrimaerKlasse.refKlassifikasjonssystem.id = @classificationSystemID && refPrimaerKlasse.klasseIdent = @classID && saksstatus = @caseFileStatus && opprettetDato = [@startDate:@endDate]",
"parameters" : {
"@classificationSystemID" : "3056241",
"@classID" : "4.5",
"@caseFileStatus" : "B",
"@startDate" : "2022-05-25T00:00:00",
"@endDate" : "2022-05-26T00:00:00"
},
"sortOrder" : [
{
"field" : "mappeIdent",
"order" : "desc"
}
]
}