{
  "resourceType": "StructureDefinition",
  "id": "HiisManufacturer",
  "url": "https://fhir.bfarm.de/StructureDefinition/HiisManufacturer",
  "version": "3.1.0-TEST",
  "name": "HiisManufacturer",
  "title": "HiisManufacturer",
  "status": "draft",
  "description": "Definition of a manufacturer in the HIIS catalog.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Organization",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Organization",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Organization",
        "path": "Organization",
        "short": "HIIS Manufacturer",
        "definition": "Represents a manufacturer in the HIIS context.",
        "mustSupport": true
      },
      {
        "id": "Organization.type",
        "path": "Organization.type",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "coding.system"
            }
          ],
          "rules": "open"
        },
        "short": "Manufacturer Type",
        "definition": "Indicates whether it is a legal entity or a natural person.",
        "mustSupport": true
      },
      {
        "id": "Organization.type:personenTyp",
        "path": "Organization.type",
        "sliceName": "personenTyp",
        "short": "Person Type",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Organization.type:personenTyp.coding",
        "path": "Organization.type.coding",
        "type": [
          {
            "code": "Coding",
            "profile": [
              "https://fhir.bfarm.de/StructureDefinition/CodingHiisManufacturerType"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Organization.name",
        "path": "Organization.name",
        "short": "Manufacturer Name",
        "definition": "The full name of the manufacturer (organization or private person) that provides the medical aids or medical aid interfaces.",
        "mustSupport": true
      },
      {
        "id": "Organization.telecom",
        "path": "Organization.telecom",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        },
        "short": "Contact Information",
        "definition": "The contact information of the manufacturer.",
        "mustSupport": true
      },
      {
        "id": "Organization.telecom:email",
        "path": "Organization.telecom",
        "sliceName": "email",
        "short": "Email Address",
        "definition": "The email address of the manufacturer.",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Organization.telecom:email.system",
        "path": "Organization.telecom.system",
        "min": 1,
        "fixedCode": "email",
        "mustSupport": true
      },
      {
        "id": "Organization.telecom:email.value",
        "path": "Organization.telecom.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Organization.address",
        "path": "Organization.address",
        "short": "Address",
        "definition": "Contains the postal address of the manufacturer.",
        "mustSupport": true
      },
      {
        "id": "Organization.address.line",
        "path": "Organization.address.line",
        "short": "Address Information",
        "definition": "The house number, apartment number, street name, street direction, PO box number, delivery instructions and similar address information of the manufacturer's address.",
        "mustSupport": true
      },
      {
        "id": "Organization.address.city",
        "path": "Organization.address.city",
        "short": "City",
        "definition": "The name of the city, town, suburb, village or municipality that belongs to the manufacturer's address.",
        "mustSupport": true
      },
      {
        "id": "Organization.address.postalCode",
        "path": "Organization.address.postalCode",
        "short": "Postal Code",
        "definition": "The postal code that belongs to the manufacturer's address.",
        "mustSupport": true
      },
      {
        "id": "Organization.address.country",
        "path": "Organization.address.country",
        "short": "Country",
        "definition": "The country where the manufacturer is located, as an ISO-3166 code.",
        "mustSupport": true
      },
      {
        "id": "Organization.contact",
        "path": "Organization.contact",
        "short": "Contact Person",
        "definition": "Contains contact information of the manufacturer's contact person.",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.name",
        "path": "Organization.contact.name",
        "short": "Name",
        "definition": "The name of the contact person.",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.name.family",
        "path": "Organization.contact.name.family",
        "short": "Family Name",
        "definition": "The family name of the contact person.",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.name.given",
        "path": "Organization.contact.name.given",
        "short": "Given Name",
        "definition": "The given name of the contact person.",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.telecom",
        "path": "Organization.contact.telecom",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        },
        "short": "Contact Information",
        "definition": "The contact information of the contact person.",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.telecom:email",
        "path": "Organization.contact.telecom",
        "sliceName": "email",
        "short": "Email Address",
        "definition": "The email address of the contact person.",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.telecom:email.system",
        "path": "Organization.contact.telecom.system",
        "min": 1,
        "fixedCode": "email",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.telecom:email.value",
        "path": "Organization.contact.telecom.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Organization.contact.telecom:phone",
        "path": "Organization.contact.telecom",
        "sliceName": "phone",
        "short": "Phone Number",
        "definition": "The phone number of the contact person.",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.telecom:phone.system",
        "path": "Organization.contact.telecom.system",
        "min": 1,
        "fixedCode": "phone",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.telecom:phone.value",
        "path": "Organization.contact.telecom.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Organization.contact.address",
        "path": "Organization.contact.address",
        "short": "Address Information",
        "definition": "Contains additional address information of the contact person.",
        "mustSupport": true
      },
      {
        "id": "Organization.contact.address.line",
        "path": "Organization.contact.address.line",
        "short": "Department",
        "definition": "The department of the contact person.",
        "mustSupport": true
      }
    ]
  }
}