{
  "resourceType": "StructureDefinition",
  "id": "HVOContract",
  "url": "http://electronichealth.se/fhir/hvo/StructureDefinition/HVOContract",
  "version": "0.1.0",
  "name": "HVOContract",
  "status": "draft",
  "description": "HVOContract contains information about an agreement that entails rights and obligations for the parties involved",
  "fhirVersion": "5.0.0",
  "mapping": [
    {
      "identity": "HVOContractToHVOAvtalLogical",
      "uri": "HVOAvtalLogical"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Contract",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Contract",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Contract.id",
        "path": "Contract.id",
        "mustSupport": true
      },
      {
        "id": "Contract.extension",
        "path": "Contract.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "ordered": false,
          "rules": "open"
        }
      },
      {
        "id": "Contract.extension:additionalRelationship",
        "path": "Contract.extension",
        "sliceName": "additionalRelationship",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://electronichealth.se/fhir/hvo/StructureDefinition/HVOContractAdditionalRelationshipExtension"
            ]
          }
        ],
        "mustSupport": true,
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "relationAvtal(HVOAvtalLogical)"
          }
        ]
      },
      {
        "id": "Contract.extension:additionalRelationship.extension:additionalRelationship",
        "path": "Contract.extension.extension",
        "sliceName": "additionalRelationship",
        "mustSupport": true
      },
      {
        "id": "Contract.extension:additionalRelationship.extension:additionalRelationship.url",
        "path": "Contract.extension.extension.url",
        "mustSupport": true
      },
      {
        "id": "Contract.extension:additionalRelationship.extension:additionalRelationship.value[x]",
        "path": "Contract.extension.extension.value[x]",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.extension:additionalRelationship.extension:type",
        "path": "Contract.extension.extension",
        "sliceName": "type",
        "mustSupport": true
      },
      {
        "id": "Contract.extension:additionalRelationship.extension:type.url",
        "path": "Contract.extension.extension.url",
        "mustSupport": true
      },
      {
        "id": "Contract.extension:additionalRelationship.extension:type.value[x]",
        "path": "Contract.extension.extension.value[x]",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.extension:additionalRelationship.extension:type.value[x].system",
        "path": "Contract.extension.extension.value[x].system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.extension:additionalRelationship.extension:type.value[x].code",
        "path": "Contract.extension.extension.value[x].code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.identifier",
        "path": "Contract.identifier",
        "min": 1,
        "mustSupport": true,
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "id"
          }
        ]
      },
      {
        "id": "Contract.identifier.system",
        "path": "Contract.identifier.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.identifier.value",
        "path": "Contract.identifier.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.applies",
        "path": "Contract.applies",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.applies.start",
        "path": "Contract.applies.start",
        "short": "The moment the contract becomes valid and has legal force",
        "min": 1,
        "mustSupport": true,
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "giltigFrom"
          }
        ]
      },
      {
        "id": "Contract.applies.end",
        "path": "Contract.applies.end",
        "short": "The moment the contract stops being valid. Do not use if not known.",
        "mustSupport": true,
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "giltigTom"
          }
        ]
      },
      {
        "id": "Contract.subject",
        "path": "Contract.subject",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganizationAffiliation"
            ]
          }
        ],
        "mustSupport": true,
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "avser(HVOUppdragLogical)"
          }
        ]
      },
      {
        "id": "Contract.type",
        "path": "Contract.type",
        "short": "Code for the domain(s) in which the services that the contract applies to have been procured",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://electronichealth.se/fhir/hvo/ValueSet/hvo-contract-type-with-sub-type-lfu"
        },
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "avtalsomrade"
          }
        ]
      },
      {
        "id": "Contract.type.coding",
        "path": "Contract.type.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Contract.type.coding.system",
        "path": "Contract.type.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.type.coding.code",
        "path": "Contract.type.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.subType",
        "path": "Contract.subType",
        "short": "Section of law in which a procurement has been done or an task has been delivered.",
        "max": "1",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://electronichealth.se/hvo/ValueSet/hvo-contract-procurement-regulation"
        },
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "lagrum"
          }
        ]
      },
      {
        "id": "Contract.subType.coding",
        "path": "Contract.subType.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Contract.subType.coding.system",
        "path": "Contract.subType.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.subType.coding.code",
        "path": "Contract.subType.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Contract.term",
        "path": "Contract.term",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Contract.term.text",
        "path": "Contract.term.text",
        "short": "Textual description of relevant contract specific conditions and texts which are not represented elsewhere, for example in organization affiliations and the services they include",
        "min": 1,
        "mustSupport": true,
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "beskrivning"
          }
        ]
      },
      {
        "id": "Contract.term.offer",
        "path": "Contract.term.offer",
        "mustSupport": true
      },
      {
        "id": "Contract.term.offer.text",
        "path": "Contract.term.offer.text",
        "short": "Textual description of option to prolong the contracts validity, if possible",
        "mustSupport": true,
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "optionForlangning"
          }
        ]
      },
      {
        "id": "Contract.legal",
        "path": "Contract.legal",
        "short": "URL to website containing the contract",
        "max": "1",
        "mustSupport": true,
        "mapping": [
          {
            "identity": "HVOContractToHVOAvtalLogical",
            "map": "url"
          }
        ]
      },
      {
        "id": "Contract.legal.content[x]",
        "path": "Contract.legal.content[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        }
      },
      {
        "id": "Contract.legal.content[x]:contentAttachment",
        "path": "Contract.legal.content[x]",
        "sliceName": "contentAttachment",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Attachment"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Contract.legal.content[x]:contentAttachment.url",
        "path": "Contract.legal.content[x].url",
        "min": 1,
        "mustSupport": true
      }
    ]
  }
}