{
  "resourceType": "StructureDefinition",
  "url": "https://nshealth.ca/fhir/LogicalModel-HealthcareRegistry-HealthcareService",
  "name": "LogicalModelHealthcareRegistryHealthcareService",
  "status": "draft",
  "description": "A model to describe the data items required to represent a healthcare service.\r\nThe service MAY have a realtionship with a location (unless it is virtual) and SHOULD bre related to an origanization.",
  "fhirVersion": "4.0.1",
  "kind": "logical",
  "abstract": false,
  "type": "https://nshealth.ca/fhir/LogicalModel-HealthcareRegistry-HealthcareService",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element",
  "derivation": "specialization",
  "differential": {
    "element": [
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Element"
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.active",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.active",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/boolean"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.operationalStatus",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.operationalStatus",
        "definition": "The operational status of the service.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Coding",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Coding"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.organization",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.organization",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference"
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.location",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.location",
        "definition": "A reference to the location where the service if provided from. \r\nNote that not all services are delivered from physical locations and as such this data element is optional.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference"
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.category",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.category",
        "definition": "A code to denote the category of healthcare service",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "Coding",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Coding"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.name",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.name",
        "definition": "The name of the healthcare service. \r\nThis data element may be provided in multiple languages.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/string"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.serviceDescription",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.serviceDescription",
        "short": "A description of the service",
        "definition": "A description of the service. Initially a generic description based on the service category",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/string"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.bookingMethod",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.bookingMethod",
        "short": "Booking method",
        "definition": "The method by which a citizen can book interaction with the service\r\n\r\nonline | phone | email | in-person",
        "comment": ".",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "ContactPoint",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/ContactPoint"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.prescriptionBookingMethod",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.prescriptionBookingMethod",
        "short": "The link to make a booking",
        "definition": "The link to enable a booking to be made with the service.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "ContactPoint",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/ContactPoint"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.referralRequired",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.referralRequired",
        "short": "Referral Required?",
        "definition": "Denotes whether a referral is required before the service can be used.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/boolean"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.telecom",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.telecom",
        "definition": "Points of contact for the healthcare service. These may be phone, email or website URLs.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "ContactPoint",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/ContactPoint"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays.dayOfWeek",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays.dayOfWeek",
        "short": "Day of the week",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/string"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays.startTime",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays.startTime",
        "short": "Start time",
        "definition": "The stat time for a period of opening",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "time",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/time"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays.endTime",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays.endTime",
        "short": "End time",
        "definition": "The end time for a period of opening",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "time",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/time"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays.allDay",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availableDays.allDay",
        "definition": "A flag to denote the service is available for the whole day.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/boolean"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.nonAvailability",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.nonAvailability",
        "short": "Periods when there is no availability.",
        "definition": "Periods when there is no availability.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.nonAvailability.reason",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.nonAvailability.reason",
        "short": "Reason",
        "definition": "The reason for non availability",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/string"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.nonAvailability.periodStart",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.nonAvailability.periodStart",
        "short": "Start dateTime of non availability",
        "definition": "Start dateTime of non availability",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/dateTime"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.nonAvailability.periodEnd",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.nonAvailability.periodEnd",
        "short": "End dateTime of non availability",
        "definition": "End dateTime of non availability",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/dateTime"
            ]
          }
        ]
      },
      {
        "id": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availabilityException",
        "path": "LogicalModel-HealthcareRegistry-HealthcareService.availability.availabilityException",
        "short": "Exceptions to the usual availability",
        "definition": "Exceptions to the usual availability schedule (e.g. public holidays)",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/string"
            ]
          }
        ]
      }
    ]
  }
}