{"id":343110,"date":"2022-10-04T16:55:22","date_gmt":"2022-10-04T14:55:22","guid":{"rendered":"https:\/\/www.optimal-systems.de\/?p=343110"},"modified":"2025-08-14T09:52:31","modified_gmt":"2025-08-14T07:52:31","slug":"how-to-develop-an-application-for-managing-insurance-documents","status":"publish","type":"post","link":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents","title":{"rendered":"How to develop an application for managing insurance documents"},"content":{"rendered":"\n<div class=\"wp-block-cover dyn\" style=\"min-height:25vw;aspect-ratio:unset;\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim-90 has-background-dim has-background-gradient\" style=\"background:linear-gradient(90deg,rgb(0,0,0) 0%,rgba(0,0,0,0) 100%)\"><\/span><img decoding=\"async\" width=\"1920\" height=\"801\" class=\"wp-block-cover__image-background wp-image-375834\" alt=\"Eine Nahaufnahme eines Apple MacBooks mit Code darauf.\" src=\"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp\" data-object-fit=\"cover\" srcset=\"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp 1920w, https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code-300x125.webp 300w, https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code-1024x427.webp 1024w, https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code-768x320.webp 768w, https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code-1536x641.webp 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><img decoding=\"async\" width=\"1920\" height=\"801\" src=\"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp\" class=\"wp-block-cover__image-background wp-post-image\" alt=\"A close up of a laptop with code on it.\" data-object-fit=\"cover\" srcset=\"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp 1920w, https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code-300x125.webp 300w, https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code-1024x427.webp 1024w, https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code-768x320.webp 768w, https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code-1536x641.webp 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><div class=\"wp-block-cover__inner-container is-layout-constrained wp-block-cover-is-layout-constrained\"><div  class=\"gs_Vz7t8k row_wrap\">\n<div class=\"wp-block-columns row_xl is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column col-12 col-sm-10 col-md-8 is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-color-62-color has-text-color\"><span data-tag=\"date\" data-params=\"{&quot;format&quot;:&quot;custom&quot;,&quot;customFormat&quot;:&quot;j F Y&quot;}\" class=\"is-tag\">Date<\/span><\/p>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-left dyn has-color-62-color has-text-color\" id=\"h-header-blog-beitrag\">How to efficiently develop an application for managing insurance documents<\/h1>\n\n\n\n<p class=\"dyn\">by Tomas Fernandez<\/p>\n<\/div>\n<\/div>\n<\/div><\/div><\/div>\n\n\n<div  class=\"gs_bClCjq row_wrap\">\n<div class=\"wp-block-columns row_xl is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column col-12 col-sm-auto is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Documents are everywhere \u2014 not even the smallest of companies can avoid them. Every invoice, contract, insurance application, operational manual \u2014 the list goes on and on \u2014 must be stored and retrieved at some point. Overseeing all this can take a massive amount of effort and money.<\/strong><\/p>\n\n\n\n<p>Modern cloud vendors offer nearly infinite storage at a low cost. However, storing documents is the easy part. More challenging is ensuring they are organized, searchable, and secure for compliance and legal purposes. This is a job for a document management system (DMS).<\/p>\n\n\n\n<p><a href=\"https:\/\/yuuvis.com\/scalable-content-services\">y<\/a><a href=\"https:\/\/www.optimal-systems.de\/en\/yuuvis-momentum\">uuvis\u00ae Momentum<\/a>&nbsp;provides a solid foundation to develop and grow a custom DMS for your enterprise. In this article, we\u2019ll look into the challenge of managing insurance documents and how easy it is to build a custom, fully-featured DMS using yuuvis\u00ae Momentum and some JSON.<\/p>\n\n\n\n<h2 class=\"wp-block-heading gs_byfwpG\" id=\"h-the-situation-document-management\">The Situation: Document Management<\/h2>\n\n\n\n<p>Most organizations have built up documents over the years using various applications and formats. Having to deal with many content types, and searching for these documents, is time-consuming.<\/p>\n\n\n\n<p>It gets more complicated when dealing with large data sets and corporate environments with legal requirements around retention, audit, versioning, and security. When you are legally required to keep documents for three years, five years, seven years, or even permanently, they really pile up.<\/p>\n\n\n\n<p>Things become even more inefficient because users must search and retrieve much of this content, and all those \u201cone-time\u201d requests for a document created years ago add up. Plus, you must ensure only the right people access sensitive documents.<\/p>\n\n\n\n<p>Security and data loss is another big issue requiring planning. Lost or leaked documents can trigger financial and reputation disaster, especially for insurance companies, so they need a solution that provides security, auditability, and redundancy, keeping documents safe yet still available when needed.<\/p>\n\n\n\n<p>Your management system may need to integrate with third-party services, custom microservices, or an existing front end, further complicating the situation.<\/p>\n\n\n\n<p>How would you even go about handling all this? Let\u2019s look at two approaches.<\/p>\n\n\n\n<h2 class=\"wp-block-heading gs_Bad2Nc\" id=\"h-solving-document-management-the-hard-way\">Solving Document Management the Hard Way<\/h2>\n\n\n\n<p>Let\u2019s see what it takes to design, from the ground up, a custom insurance company DMS. The requirements are as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Storage<\/strong>: All cloud vendors provide generic document storage.\u00a0<a href=\"https:\/\/aws.amazon.com\/s3\" target=\"_blank\" rel=\"noreferrer noopener\">Amazon\u2019s S3<\/a>\u00a0API has become a de-facto standard in the IT industry. Other alternatives include Microsoft\u2019s\u00a0<a href=\"https:\/\/azure.microsoft.com\/de-de\/products\/storage\/blobs\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Blob Storage<\/a>\u00a0or Google\u2019s\u00a0<a href=\"https:\/\/cloud.google.com\/storage?hl=de\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud Storage<\/a>. To use our chosen storage, we need to write an intelligent document handling layer on top of the backends. For extra resilience and disaster recovery, we may want to adopt a hybrid cloud configuration.<\/li>\n\n\n\n<li><strong>Search<\/strong>: We\u2019ll need searching capabilities, for instance, to find unpaid invoices, track rejected claims, or follow up on pending applications. We also need to cross-reference different reports by name and address. With enough development resources at our disposal, we can build a custom search engine, otherwise, we can integrate a full-text search engine such as&nbsp;<a href=\"https:\/\/www.elastic.co\" target=\"_blank\" rel=\"noreferrer noopener\">Elasticsearch<\/a>&nbsp;into our application.<\/li>\n\n\n\n<li><strong>Security<\/strong>: For authentication, we should integrate a role-based security service like&nbsp;<a href=\"https:\/\/aws.amazon.com\/cognito\" target=\"_blank\" rel=\"noreferrer noopener\">AWS Cognito<\/a>, or else write our own, to ensure each agent can only access relevant documents.<\/li>\n<\/ul>\n\n\n\n<p>We haven\u2019t even begun to consider features like analytics, reporting, audit logs, and compliance, including retaining documents until a certain time, requiring even more development effort and tool integration. As you can see, we have our hands full already!<\/p>\n\n\n\n<h2 class=\"wp-block-heading gs_RYb1uM\" id=\"h-solving-document-management-the-momentum-way\">Solving Document Management the Momentum Way<\/h2>\n\n\n\n<p>Doing everything from scratch might take more development time than you can spare. Instead, let\u2019s see how we can use yuuvis\u00ae Momentum to kickstart the new project.<\/p>\n\n\n\n<h3 class=\"wp-block-heading gs_K4fotJ\" id=\"h-deploying-yuuvis-momentum\">Deploying yuuvis\u00ae Momentum<\/h3>\n\n\n\n<p>The first step is to&nbsp;<a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Deployment+and+DevOps\" target=\"_blank\" rel=\"noreferrer noopener\">get yuuvis\u00ae Momentum up and running<\/a>. You\u2019ll need a Kubernetes cluster, which can be hosted on-premises or in any cloud service provider. For testing purposes, you can start a single-node development version of yuuvis\u00ae Momentum using&nbsp;<a href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools#minikube\" target=\"_blank\" rel=\"noreferrer noopener\">Minikube<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading gs_uhzeb5\" id=\"h-loading-documents\">Loading Documents<\/h3>\n\n\n\n<p>With yuuvis\u00ae Momentum running, we can start&nbsp;<a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Importing+Documents+via+Core+API\" target=\"_blank\" rel=\"noreferrer noopener\">importing documents<\/a>&nbsp;into the DMS. A single yuuvis\u00ae Momentum instance handles billions of records with ease.<\/p>\n\n\n\n<p>A document consists of two parts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The document itself<\/strong>: which can take any form. For example: a PDF file, a Word document, a zip file with pictures, a text file, or anything else.<\/li>\n\n\n\n<li><strong>Metadata<\/strong>: a JSON file describing the document. It can incorporate any number of arbitrary key-value pairs.<\/li>\n<\/ul>\n\n\n\n<p class=\"gs_H5ZOS1\">yuuvis\u00ae Momentum exposes a RESTful API to access both the document and its metadata. Here\u2019s a generic metadata JSON snippet:<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n<div  class=\"row_wrap\">\n<div class=\"wp-block-columns row_xl is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column col-12 col-sm-auto is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-code has-color-31-color has-color-32-background-color has-text-color has-background has-link-color wp-elements-09c4001f881012c49b06c0a0a0272d47\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">{<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"objects\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: &#91;{<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"properties\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"system:objectTypeId\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>                <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"value\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">:<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"system:document\"<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">},<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">},<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"contentStreams\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: &#91;{<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"cid\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">:<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"cid_insuranceDocument\"<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">}]<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">}]<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">}<\/mark><\/code><\/pre>\n\n\n\n<p class=\"gs_StFGAG\">You can upload the file and its metadata at once with a&nbsp;<code>POST<\/code>&nbsp;request to&nbsp;<code>\/api\/dms\/objects<\/code>. The following Java snippet uses&nbsp;<a href=\"https:\/\/github.com\/square\/okhttp\" target=\"_blank\" rel=\"noreferrer noopener\">OkHttp3<\/a>&nbsp;to build a multi-part HTTP request:<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-32-background-color has-background\"><code><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">String<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\"> baseUrl =<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"https:\/\/:\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">;<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">String<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">username = <\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"clouduser\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">;<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">String<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">userpassword = <\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"secret\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">;<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">String<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">tenant =<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"default\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">;<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">String<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">auth = <\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">Credentials.basic<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(username, userpassword);<\/mark>\n<br>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">OkHttpClient<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">Builder <\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">builder<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">=<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">new<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">OkHttpClient<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">Builder<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">();<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">OkHttpClient<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">client = builder.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">build<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">();<\/mark>\n<br>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">RequestBody<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">requestBody =<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">new<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">MultipartBody<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">Builder<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">()<\/mark>\n<br>      <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">setType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">MultipartBody<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.FORM)<\/mark>\n<br>      <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">addFormDataPart<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"data\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">, <\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"metadata.json\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">,<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">RequestBody<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">create<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">MediaType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">parse<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"application\/json; charset=utf-8\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">),<\/mark>\n<br>                <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">new<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">File<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\".\/metaData.json\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">)))<\/mark>\n<br>      <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">addFormDataPart<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"cid_insuranceDocument\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">,<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"insuranceClaimApplication.pdf\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">,<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">RequestBody<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">create<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">MediaType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">parse<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"application\/pdf;<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">charset=utf-8\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">),<\/mark>\n<br>                <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">new<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">File<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\".\/insuranceClaimApplication.pdf\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">)))<\/mark>\n<br>      <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">build<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">();<\/mark>\n<br>\n<br>  <mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">Request<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">request<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">=<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">new<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">Request<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">Builder<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">()<\/mark>\n<br>     <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\"> .<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">header<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"X-ID-TENANT-NAME\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">, tenant)<\/mark>\n<br>      <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">header<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"Authorization\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">, auth)<\/mark>\n<br>      <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">url<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(baseUrl+<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"\/api\/dms\/objects\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">)<\/mark>\n<br>      <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">post<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(requestBody)<\/mark>\n<br>      <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">build<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">();<\/mark>\n<br>\n<br>  <mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">Response<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\"> reponse<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">= client.<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">newCall<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(request).<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">execute<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">();<\/mark><\/code><\/pre>\n\n\n\n<p class=\"gs_n3mlze\">Each document is assigned a unique objectId within the DMS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading gs_vx8mTX\" id=\"h-defining-a-schema\">Defining a Schema<\/h3>\n\n\n\n<p>yuuvis\u00ae Momentum works best when we have rich metadata for the documents. To take advantage of advanced searching and business processing capabilities, it\u2019s a good idea to define&nbsp;<a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Schema+-+Defining+Object+Types\" target=\"_blank\" rel=\"noreferrer noopener\">custom schemas<\/a>.<\/p>\n\n\n\n<p>A schema is an XML file that defines properties for a given document type. We can have any number of document classes (the default class is document) with arbitrary fields. The supported property types are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Integer<\/li>\n\n\n\n<li>Boolean<\/li>\n\n\n\n<li>DateTime<\/li>\n\n\n\n<li>Decimal<\/li>\n\n\n\n<li>String<\/li>\n\n\n\n<li>Table<\/li>\n<\/ul>\n\n\n\n<p>You can mark properties as mandatory when&nbsp;<code>required: true<\/code>&nbsp;and as a list of values with&nbsp;<code>cardinality: multi<\/code>. Continuing from the previous example, we may want to add some special properties for the claim form application document:<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-32-background-color has-background\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">schema<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">xmlns<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">=\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">http:\/\/optimal-systems.org\/ns\/dmscloud\/schema\/v5.0\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">\"<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-42-color\">xmlns:<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">xsi<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">=\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">http:\/\/www.w3.org\/2001\/XMLSchema-instance<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">\"<\/mark>   <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-42-color\">xsi:<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">schemaLocation<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">=\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">http:\/\/optimal-systems.org\/ns\/dmscloud\/schema\/v5.0\/dmsCloud-schema.xsd\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyStringDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;fullLegalName&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>       <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\"> &lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;string&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">cardinality<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;single&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">cardinality<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">required<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;true&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">required<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyStringDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyDateTimeDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;dateOfBirth&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;datetime&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">cardinality<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;single&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">cardinality<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">required<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;true&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">required<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyDateTimeDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>   <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\"> &lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyBooleanDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;formIsApproved&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;boolean&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">cardinality<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;single&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">cardinality<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">required<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;false&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">required<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyBooleanDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyDecimalDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;amountClaimed&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;decimal&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyType<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>       <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\"> &lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">cardinality<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;single&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">cardinality<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">required<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;true&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">required<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyDecimalDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">typeDocumentDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;insuranceClaim&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">id<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">baseId<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;system:document&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">baseId<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyReference<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;fullLegalName&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyReference<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyReference<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;dateOfBirth&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyReference<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyReference<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;formIsApproved&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyReference<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyReference<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;amountClaimed&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">propertyReference<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">contentStreamAllowed<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;allowed&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">contentStreamAllowed<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">typeDocumentDefinition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">schema<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark><\/code><\/pre>\n\n\n\n<p class=\"gs_x5Frwu\">This schema enables you to create an insurance claims app based on yuuvis<sup>\u00ae<\/sup>&nbsp;Momentum. Therefore, all properties will be automatically prefixed with \u201cappInsurance:\u201d. To upload the schema and automatically create the app, you have to send the xml with a POST HTTP request to the&nbsp;<code>\/api\/system\/apps\/insurance\/schema<\/code>&nbsp;endpoint. With the new schema, the metadata.json is now:<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-32-background-color has-background\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">{<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"objects\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: &#91;{<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"properties\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"system:objectTypeId\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>                <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"value\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">:<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"appInsurance:insuranceClaim\"<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">},<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"appInsurance:fullLegalName\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>                <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"value\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">:<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"Richard Roe\"<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">},<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"appInsurance:dateOfBirth\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>                <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"value\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">:<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"1984-04-02\"<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">},<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"appInsurance:formIsApproved\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>                <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"value\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: &lt;strong&gt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#9b51e0\" class=\"has-inline-color\">false<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/strong&gt;<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">},<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"appInsurance:amountClaimed\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>                <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"value\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">:<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0);color:#9b51e0\" class=\"has-inline-color\">2386.21<\/mark>\n<br>           <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\"> }\n<br>        },<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"contentStreams\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: &#91;{<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"cid\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">:<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"cid_insuranceDocument\"<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">}]\n<br>    }]\n<br>}<\/mark><\/code><\/pre>\n\n\n\n<p class=\"gs_MNjrgl\">You can change and update schema definitions at any time. See&nbsp;<a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Managing+the+Schema\" target=\"_blank\" rel=\"noreferrer noopener\">managing the schema<\/a>&nbsp;for more use cases and examples.<\/p>\n\n\n\n<h3 class=\"wp-block-heading gs_c8aCBi\" id=\"h-develop-your-dms-application\">Develop Your DMS Application<\/h3>\n\n\n\n<p>Your users will expect a full-fledged, modern application to manage and search documents. yuuvis\u00ae Momentum supports a Node.js client reference implementation and contains a collection of Angular UI components to bootstrap your new project quickly.<\/p>\n\n\n\n<p>The yuuvis\u00ae Momentum client contains two parts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Core<\/strong>: the&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/@yuuvis\/core\" target=\"_blank\" rel=\"noreferrer noopener\">yuuvis\/core<\/a>&nbsp;library provides services to interact with the DMS.<\/li>\n\n\n\n<li><strong>Framework<\/strong>: the&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/@yuuvis\/framework\" target=\"_blank\" rel=\"noreferrer noopener\">yuuvis\/framework<\/a>&nbsp;library provides Angular components. This will be the foundation of your client application.<\/li>\n<\/ul>\n\n\n\n<p>To get your new project going, first install&nbsp;<a href=\"https:\/\/nodejs.org\" target=\"_blank\" rel=\"noreferrer noopener\">Node.js<\/a>. Once you\u2019re all set, create a new&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/@yuuvis\/project\" target=\"_blank\" rel=\"noreferrer noopener\">yuuvis\/project<\/a>&nbsp;with:<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-62-color has-color-32-background-color has-text-color has-background has-link-color wp-elements-9b48ca91845a239340d154ec03cc95ad\"><code>ng new new-project\n<br><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">cd<\/mark> new-project\n<br>ng add @yuuvis\/project --type=framework --project=new-project<\/code><\/pre>\n\n\n\n<p class=\"gs_xWGJFc\">The client uses a proxy to communicate with the yuuvis\u00ae Momentum backend. Prepare the configuration file by copying the example connection file:<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-62-color has-color-32-background-color has-text-color has-background has-link-color wp-elements-000aa7e70c0bf5ac1706758b4fae14dd\"><code><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">cp <\/mark>proxy\/_proxy.connections.json proxy\/proxy.connections.json<\/code><\/pre>\n\n\n\n<p class=\"gs_2ZdcBO\">Then edit the proxy\/proxy.connections.json and add your connection details. Start the proxy with<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-62-color has-color-32-background-color has-text-color has-background has-link-color wp-elements-471e50f73984ecd6bd0a28cf831f3697\"><code><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">npm<\/mark> run proxy<\/code><\/pre>\n\n\n\n<p>and finally, type<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-62-color has-color-32-background-color has-text-color has-background has-link-color wp-elements-8be7542e580cf739adf192705ec007a9\"><code><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">npm <\/mark>start<\/code><\/pre>\n\n\n\n<p class=\"gs_lFGcCf\">to get the Angular CLI dev server. The new website is available at&nbsp;<code>localhost:4400<\/code>.<\/p>\n\n\n\n<p>Once everything is ready, it\u2019s time to start coding. Go to the&nbsp;<a href=\"https:\/\/yuuvis-cc.yuuvis.org\" target=\"_blank\" rel=\"noreferrer noopener\">client API documentation<\/a>&nbsp;page to learn what\u2019s next.<\/p>\n\n\n\n<h3 class=\"wp-block-heading gs_EKI95W\" id=\"h-securing-your-documents\">Securing Your Documents<\/h3>\n\n\n\n<p><a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Access+Authorization+and+Permissions\" target=\"_blank\" rel=\"noreferrer noopener\">Access roles<\/a>&nbsp;give you reusable templates to control who can access the resources. To grant a user access, we must first create a role, if we have not done so already, then assign that role to the user.<\/p>\n\n\n\n<p>Roles are defined in an XML format like:<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-32-background-color has-background\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">role<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">name<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;RoleClaimReader&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">name<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">permission<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>               <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;read&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>               <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">condition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;system:objectTypeId = 'insuranceClaim'&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">condition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">permission<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">role<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark><\/code><\/pre>\n\n\n\n<p class=\"gs_m6byFB\">The available actions are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>read<\/strong>: permission to read resources and metadata.<\/li>\n\n\n\n<li><strong>write<\/strong>: permission to create or update resources or metadata.<\/li>\n\n\n\n<li><strong>delete<\/strong>: permission to delete a resource or the metadata.<\/li>\n<\/ul>\n\n\n\n<p>So, for example, we can create two roles, claimReader and claimWriter, with:<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-32-background-color has-background\"><code><mark style=\"background-color:rgba(0, 0, 0, 0);color:#abb8c3\" class=\"has-inline-color\">&lt;!-- roleset.xml --&gt;\n<br>\n<br>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">roleSet<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\"> xmlns<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">=\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">http:\/\/optimal-systems.org\/ns\/dmscloud\/roleset\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">\"&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">role<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">name<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;claimReader&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">name<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">permission<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;read&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;delete&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">condition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;system:objectTypeId = 'insuranceClaim'&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">condition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">permission<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">role<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">role<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">name<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;claimWriter&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">name<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">permission<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;read&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;write&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">action<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>            <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">condition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;system:objectTypeId = 'insuranceClaim'&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">condition<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">permission<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br>    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">role<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&lt;\/<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">roleSet<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">&gt;<\/mark><\/code><\/pre>\n\n\n\n<p class=\"gs_oNXawa\">We\u2019ll use the identity provider to assign the previously defined roles to the users.<br>There is a RESTful configuration endpoint at&nbsp;<code>\/api\/admin\/permissions<\/code>&nbsp;that allows you to configure roles and users.<\/p>\n\n\n\n<h3 class=\"wp-block-heading gs_ePQgVf\" id=\"h-searching-documents\">Searching Documents<\/h3>\n\n\n\n<p>yuuvis\u00ae Momentum features searching capabilities for all stored documents using the&nbsp;<a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Search+Query+Language\" target=\"_blank\" rel=\"noreferrer noopener\">CMIS query language<\/a>, an SQL language extended with full-text syntax. Each of your document types is mapped to a virtual table you can run&nbsp;<code>SELECT<\/code>&nbsp;statements against.<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-32-background-color has-background\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">SELECT<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">*<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">FROM<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">appInsurance:insuranceClaim;<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">SELECT<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">*<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">FROM<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">appInsurance:insuranceClaim<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">WHERE<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">amount_claimed &gt;<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#9b51e0\" class=\"has-inline-color\">100<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">and<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">CONTAINS<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">'deductible'<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">);<\/mark><\/code><\/pre>\n\n\n\n<p class=\"gs_rCmLPq\">Special&nbsp;<code>system:object<\/code>&nbsp;and&nbsp;<code>system:audit<\/code>&nbsp;tables enable you to search for document metadata and audit trails:<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-32-background-color has-background\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">SELECT<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">*<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">FROM<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\"> system:object<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">WHERE<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">system:creationDate &lt; dateadd(<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">'year'<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">,-<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#9b51e0\" class=\"has-inline-color\">1<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">,<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fcb900\" class=\"has-inline-color\">now<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">());<\/mark>\n<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">SELECT<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">*<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">FROM<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">system:audit<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-11-color\">WHERE<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">system:creationDate IN YESTERDAY();<\/mark><\/code><\/pre>\n\n\n\n<p class=\"gs_cInSgU\">The built-in SQL query capabilities will let us easily track and find documents in the DMS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading gs_P0UMVt\" id=\"h-auditing-documents\">Auditing Documents<\/h3>\n\n\n\n<p>Speaking of&nbsp;<a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/pages\/viewpage.action?pageId=40143569\" target=\"_blank\" rel=\"noreferrer noopener\">audit trails<\/a>, yuuvis\u00ae Momentum keeps the history of every object passing through it. Audit records are available at the&nbsp;<code>\/api\/dms\/objects\/{object_id}\/history<\/code>&nbsp;endpoint.<\/p>\n\n\n\n<p>Our insurance company DMS will certainly require auditing and document retention.<\/p>\n\n\n\n<h3 class=\"wp-block-heading gs_SMmjpo\" id=\"h-document-retention\">Document Retention<\/h3>\n\n\n\n<p><a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Document+Retention\" target=\"_blank\" rel=\"noreferrer noopener\">Retention policies<\/a>&nbsp;ensure documents cannot be modified or deleted until a specified date. The retention feature protects documents even from users with appropriate write and delete roles.<\/p>\n\n\n\n<p>You can set the retention date on existing documents with a&nbsp;<a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Updating+Documents+via+Core+API\" target=\"_blank\" rel=\"noreferrer noopener\">metadata update<\/a>. For instance, to lock the document until the first day of 2022, you can set the&nbsp;<code>system:rmExpirationDate<\/code>&nbsp;property like this:<\/p>\n\n\n\n<pre class=\"wp-block-code has-color-32-background-color has-background\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">{<\/mark>\n<br>      <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"properties\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>          <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\">\"system:rmExpirationDate \"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">: {<\/mark>\n<br>             <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-51-color\"> \"value\"<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\">:<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-52-color\">\"2022-01-01T00:00:00Z\"<\/mark>\n<br>         <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-color-62-color\"> }\n<br>      }\n<br> }\n<br><\/mark><\/code><\/pre>\n\n\n\n<p class=\"gs_s9Wew8\">And send the JSON content in a&nbsp;<code>PATCH HTTP<\/code>&nbsp;request to&nbsp;<code>\/api\/dms\/objects\/{object_id}<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading gs_oHQf8i\" id=\"h-process-engine\">Process Engine<\/h3>\n\n\n\n<p>A process engine enables us to enforce business rules on stored documents. We may want to reject applications that are not correctly filled or mark duplicated claims in our insurance records. Likewise, we want to protect claim forms that have already been approved and paid out.<\/p>\n\n\n\n<p>yuuvis\u00ae Momentum ships with a Business Process Management Engine (BPM Engine) , offering business processing capabilities. The engine implements rules for processing documents in the background. To learn more, check the&nbsp;<a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Business+Process+Management+%28BPM%29+Engine\" target=\"_blank\" rel=\"noreferrer noopener\">BPM documentation page<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading gs_VSBtjX\" id=\"h-conclusion\">Conclusion<\/h2>\n\n\n\n<p>Picking the best solution to manage our documents is a careful decision, and building a custom solution from the ground up is a serious undertaking. yuuvis\u00ae Momentum gives you the foundational services for a fully-featured DMS.<\/p>\n\n\n\n<p>Now that you see how easy it is to incorporate yuuvis\u00ae Momentum\u2019s ready-made tools into your DMS, you\u2019re ready to create your own custom solution for document management in the insurance industry and beyond. The applications are endless.<\/p>\n\n\n\n<p>To learn more about yuuvis\u00ae Momentum, read these documents next:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Getting+started\" target=\"_blank\" rel=\"noreferrer noopener\">Getting started with Momentum<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/pages\/viewpage.action?pageId=40141172\" target=\"_blank\" rel=\"noreferrer noopener\">What is yuuvis\u00ae Momentum<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Test+System+Installation+Guide\" target=\"_blank\" rel=\"noreferrer noopener\">Deploying yuuvis\u00ae Momentum with Kubernetes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/API\" target=\"_blank\" rel=\"noreferrer noopener\">Using the yuuvis\u00ae Momentum API<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.optimal-systems.com\/yuuvis_develop\/display\/YMY\/Using+the+Postman+Test+Collection\" target=\"_blank\" rel=\"noreferrer noopener\">Trying out yuuvis\u00ae Momentum API with Postman<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Solve the challenge of managing insurance documents and see how easy it is to build a custom, fully-featured DMS with yuuvis\u00ae Momentum.<\/p>\n","protected":false},"author":1,"featured_media":375835,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"greyd_block_editor_preview":{"enabled":false,"maxWidth":"","backgroundColor":""},"footnotes":""},"categories":[1723,1],"tags":[1648,1653,1654,1611,1732],"os_society":[],"class_list":["post-343110","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","category-unkategorisiert","tag-dokumentenmanagementsystem-dms-2","tag-modernisierung-2","tag-momentum-2","tag-yuuvis-momentum-2","tag-yuuvis-momentum-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Set up an application for managing insurance documents<\/title>\n<meta name=\"description\" content=\"Solve the challenge of managing insurance documents and see how easy it is to build a custom, fully-featured DMS with yuuvis\u00ae Momentum.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to develop an application for managing insurance documents\" \/>\n<meta property=\"og:description\" content=\"Solve the challenge of managing insurance documents and see how easy it is to build a custom, fully-featured DMS with yuuvis\u00ae Momentum. %\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents\" \/>\n<meta property=\"og:site_name\" content=\"OPTIMAL SYSTEMS\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/OptimalSystems\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-04T14:55:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-14T07:52:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"801\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"sebastian_h\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@OptimalSystems\" \/>\n<meta name=\"twitter:site\" content=\"@OptimalSystems\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"sebastian_h\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents\"},\"author\":{\"name\":\"sebastian_h\",\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/#\\\/schema\\\/person\\\/93cf78a5cec867a642a77edbcd045b44\"},\"headline\":\"How to develop an application for managing insurance documents\",\"datePublished\":\"2022-10-04T14:55:22+00:00\",\"dateModified\":\"2025-08-14T07:52:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents\"},\"wordCount\":1666,\"publisher\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.optimal-systems.de\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/notebook-mit-code.webp\",\"keywords\":[\"Dokumentenmanagementsystem \\\/ DMS\",\"Modernisierung\",\"Momentum\",\"yuuvis-momentum\",\"yuuvis-momentum\"],\"articleSection\":{\"1\":\"Unkategorisiert\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents\",\"url\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents\",\"name\":\"Set up an application for managing insurance documents\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.optimal-systems.de\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/notebook-mit-code.webp\",\"datePublished\":\"2022-10-04T14:55:22+00:00\",\"dateModified\":\"2025-08-14T07:52:31+00:00\",\"description\":\"Solve the challenge of managing insurance documents and see how easy it is to build a custom, fully-featured DMS with yuuvis\u00ae Momentum.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents#primaryimage\",\"url\":\"https:\\\/\\\/www.optimal-systems.de\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/notebook-mit-code.webp\",\"contentUrl\":\"https:\\\/\\\/www.optimal-systems.de\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/notebook-mit-code.webp\",\"width\":1920,\"height\":801,\"caption\":\"A close up of a laptop with code on it.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/digitalization\\\/blog\\\/how-to-develop-an-application-for-managing-insurance-documents#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to develop an application for managing insurance documents\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/\",\"name\":\"OPTIMAL SYSTEMS\",\"description\":\"A Kyocera Group Company\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/#organization\",\"name\":\"OPTIMAL SYSTEMS GmbH\",\"url\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.optimal-systems.de\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/optimal-systems-logo-960x960-1-705x705-1.webp\",\"contentUrl\":\"https:\\\/\\\/www.optimal-systems.de\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/optimal-systems-logo-960x960-1-705x705-1.webp\",\"width\":705,\"height\":705,\"caption\":\"OPTIMAL SYSTEMS GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/OptimalSystems\",\"https:\\\/\\\/x.com\\\/OptimalSystems\",\"https:\\\/\\\/www.instagram.com\\\/optimalsystems\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/optimal-systems-gmbh\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/OptimalSystems\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.optimal-systems.de\\\/en\\\/#\\\/schema\\\/person\\\/93cf78a5cec867a642a77edbcd045b44\",\"name\":\"sebastian_h\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d7dd4776087a5b219989de5d023c4a55ab8bcd4f740c63b7282b59d098478453?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d7dd4776087a5b219989de5d023c4a55ab8bcd4f740c63b7282b59d098478453?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d7dd4776087a5b219989de5d023c4a55ab8bcd4f740c63b7282b59d098478453?s=96&d=mm&r=g\",\"caption\":\"sebastian_h\"},\"sameAs\":[\"https:\\\/\\\/www.optimal-systems.de\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Set up an application for managing insurance documents","description":"Solve the challenge of managing insurance documents and see how easy it is to build a custom, fully-featured DMS with yuuvis\u00ae Momentum.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents","og_locale":"en_US","og_type":"article","og_title":"How to develop an application for managing insurance documents","og_description":"Solve the challenge of managing insurance documents and see how easy it is to build a custom, fully-featured DMS with yuuvis\u00ae Momentum. %","og_url":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents","og_site_name":"OPTIMAL SYSTEMS","article_publisher":"https:\/\/www.facebook.com\/OptimalSystems","article_published_time":"2022-10-04T14:55:22+00:00","article_modified_time":"2025-08-14T07:52:31+00:00","og_image":[{"width":1920,"height":801,"url":"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp","type":"image\/webp"}],"author":"sebastian_h","twitter_card":"summary_large_image","twitter_creator":"@OptimalSystems","twitter_site":"@OptimalSystems","twitter_misc":{"Written by":"sebastian_h","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents#article","isPartOf":{"@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents"},"author":{"name":"sebastian_h","@id":"https:\/\/www.optimal-systems.de\/en\/#\/schema\/person\/93cf78a5cec867a642a77edbcd045b44"},"headline":"How to develop an application for managing insurance documents","datePublished":"2022-10-04T14:55:22+00:00","dateModified":"2025-08-14T07:52:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents"},"wordCount":1666,"publisher":{"@id":"https:\/\/www.optimal-systems.de\/en\/#organization"},"image":{"@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents#primaryimage"},"thumbnailUrl":"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp","keywords":["Dokumentenmanagementsystem \/ DMS","Modernisierung","Momentum","yuuvis-momentum","yuuvis-momentum"],"articleSection":{"1":"Unkategorisiert"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents","url":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents","name":"Set up an application for managing insurance documents","isPartOf":{"@id":"https:\/\/www.optimal-systems.de\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents#primaryimage"},"image":{"@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents#primaryimage"},"thumbnailUrl":"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp","datePublished":"2022-10-04T14:55:22+00:00","dateModified":"2025-08-14T07:52:31+00:00","description":"Solve the challenge of managing insurance documents and see how easy it is to build a custom, fully-featured DMS with yuuvis\u00ae Momentum.","breadcrumb":{"@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents#primaryimage","url":"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp","contentUrl":"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2022\/07\/notebook-mit-code.webp","width":1920,"height":801,"caption":"A close up of a laptop with code on it."},{"@type":"BreadcrumbList","@id":"https:\/\/www.optimal-systems.de\/en\/digitalization\/blog\/how-to-develop-an-application-for-managing-insurance-documents#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.optimal-systems.de\/en"},{"@type":"ListItem","position":2,"name":"How to develop an application for managing insurance documents"}]},{"@type":"WebSite","@id":"https:\/\/www.optimal-systems.de\/en\/#website","url":"https:\/\/www.optimal-systems.de\/en\/","name":"OPTIMAL SYSTEMS","description":"A Kyocera Group Company","publisher":{"@id":"https:\/\/www.optimal-systems.de\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.optimal-systems.de\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.optimal-systems.de\/en\/#organization","name":"OPTIMAL SYSTEMS GmbH","url":"https:\/\/www.optimal-systems.de\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.optimal-systems.de\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2023\/10\/optimal-systems-logo-960x960-1-705x705-1.webp","contentUrl":"https:\/\/www.optimal-systems.de\/wp-content\/uploads\/2023\/10\/optimal-systems-logo-960x960-1-705x705-1.webp","width":705,"height":705,"caption":"OPTIMAL SYSTEMS GmbH"},"image":{"@id":"https:\/\/www.optimal-systems.de\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/OptimalSystems","https:\/\/x.com\/OptimalSystems","https:\/\/www.instagram.com\/optimalsystems\/","https:\/\/www.linkedin.com\/company\/optimal-systems-gmbh","https:\/\/www.youtube.com\/user\/OptimalSystems"]},{"@type":"Person","@id":"https:\/\/www.optimal-systems.de\/en\/#\/schema\/person\/93cf78a5cec867a642a77edbcd045b44","name":"sebastian_h","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d7dd4776087a5b219989de5d023c4a55ab8bcd4f740c63b7282b59d098478453?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d7dd4776087a5b219989de5d023c4a55ab8bcd4f740c63b7282b59d098478453?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d7dd4776087a5b219989de5d023c4a55ab8bcd4f740c63b7282b59d098478453?s=96&d=mm&r=g","caption":"sebastian_h"},"sameAs":["https:\/\/www.optimal-systems.de"]}]}},"_links":{"self":[{"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/posts\/343110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/comments?post=343110"}],"version-history":[{"count":1,"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/posts\/343110\/revisions"}],"predecessor-version":[{"id":405944,"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/posts\/343110\/revisions\/405944"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/media\/375835"}],"wp:attachment":[{"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/media?parent=343110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/categories?post=343110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/tags?post=343110"},{"taxonomy":"os_society","embeddable":true,"href":"https:\/\/www.optimal-systems.de\/en\/wp-json\/wp\/v2\/os_society?post=343110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}