{
  "resourceType": "StructureDefinition",
  "id": "spark1929",
  "meta": {
    "versionId": "spark2634",
    "lastUpdated": "2016-02-19T12:08:00.83+00:00"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 0
    }
  ],
  "url": "http://hl7.org/fhir/StructureDefinition/hncHealthcareService",
  "name": "hncHealthcareService",
  "status": "draft",
  "publisher": "Helse Nord",
  "date": "2015-09-22T03:47:23+00:00",
  "description": "Constraint on HealthcareService Resource",
  "fhirVersion": "1.0.1",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/w5",
      "name": "W5 Mapping"
    }
  ],
  "kind": "resource",
  "constrainedType": "HealthcareService",
  "abstract": true,
  "base": "http://hl7.org/fhir/StructureDefinition/HealthcareService",
  "differential": {
    "element": [
      {
        "path": "HealthcareService",
        "short": "The details of a healthcare service available at a location",
        "definition": "The details of a healthcare service available at a location.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "DomainResource"
          }
        ],
        "mapping": [
          {
            "identity": "w5",
            "map": "administrative.group"
          }
        ]
      },
      {
        "path": "HealthcareService.identifier",
        "short": "External identifiers for this item",
        "definition": "External identifiers for this item.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": ".id"
          },
          {
            "identity": "w5",
            "map": "id"
          }
        ]
      },
      {
        "path": "HealthcareService.providedBy",
        "short": "Organization that provides this service",
        "definition": "The organization that provides this healthcare service.",
        "comments": "This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Organization"
            ]
          }
        ],
        "isSummary": true
      },
      {
        "path": "HealthcareService.serviceCategory",
        "short": "Broad category of service being performed or delivered",
        "definition": "Identifies the broad category of service being performed or delivered.",
        "comments": "Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "example",
          "description": "A category of the service(s) that could be provided."
        },
        "mapping": [
          {
            "identity": "w5",
            "map": "class"
          }
        ]
      },
      {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
            "valueString": "ServiceType"
          }
        ],
        "path": "HealthcareService.serviceType",
        "short": "Specific service delivered or performed",
        "definition": "A specific type of service that may be delivered or performed.",
        "min": 0,
        "max": "*",
        "isSummary": true
      },
      {
        "path": "HealthcareService.serviceType.type",
        "short": "Type of service delivered or performed",
        "definition": "The specific type of service being delivered or performed.",
        "comments": "Change to serviceType?",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "preferred",
          "description": "Additional details about where the content was created (e.g. clinical specialty).",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
          }
        }
      },
      {
        "path": "HealthcareService.serviceType.specialty",
        "short": "Specialties handled by the Service Site",
        "definition": "Collection of specialties handled by the service site. This is more of a medical term.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "example",
          "description": "A specialty that a healthcare service may provide."
        }
      },
      {
        "path": "HealthcareService.location",
        "short": "Location where service may be provided",
        "definition": "The location where this healthcare service may be provided.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "w5",
            "map": "where"
          }
        ]
      },
      {
        "path": "HealthcareService.serviceName",
        "short": "Description of service as presented to a consumer while searching",
        "definition": "Further description of the service as it would be presented to a consumer while searching.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true
      },
      {
        "path": "HealthcareService.comment",
        "short": "Additional description and/or any specific issues not covered elsewhere",
        "definition": "Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName.",
        "comments": "Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true
      },
      {
        "path": "HealthcareService.extraDetails",
        "short": "Extra details about the service that can't be placed in the other fields",
        "definition": "Extra details about the service that can't be placed in the other fields.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "path": "HealthcareService.photo",
        "short": "Facilitates quick identification of the service",
        "definition": "If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Attachment"
          }
        ],
        "isSummary": true
      },
      {
        "path": "HealthcareService.telecom",
        "short": "Contacts related to the healthcare service",
        "definition": "List of contacts related to this specific healthcare service.",
        "comments": "If this is empty, then refer to the location's contacts.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "ContactPoint"
          }
        ]
      },
      {
        "path": "HealthcareService.coverageArea",
        "short": "Location(s) service is inteded for/available to",
        "definition": "The location(s) that this service is available to (not where the service is provided).",
        "comments": "The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as in-home=.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ]
      },
      {
        "path": "HealthcareService.serviceProvisionCode",
        "short": "Conditions under which service is available/offered",
        "definition": "The code(s) that detail the conditions under which the healthcare service is available/offered.",
        "comments": "The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "example",
          "description": "The code(s) that detail the conditions under which the healthcare service is available/offered.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/service-provision-conditions"
          }
        }
      },
      {
        "path": "HealthcareService.eligibility",
        "short": "Specific eligibility requirements required to use the service",
        "definition": "Does this service have specific eligibility requirements that need to be met in order to use the service?",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "example",
          "description": "Coded values underwhich a specific service is made available."
        }
      },
      {
        "path": "HealthcareService.eligibilityNote",
        "short": "Describes the eligibility conditions for the service",
        "definition": "Describes the eligibility conditions for the service.",
        "comments": "The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "path": "HealthcareService.programName",
        "short": "Program Names that categorize the service",
        "definition": "Program Names that can be used to categorize the service.",
        "comments": "Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, ….",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "path": "HealthcareService.characteristic",
        "short": "Collection of characteristics (attributes)",
        "definition": "Collection of characteristics (attributes).",
        "comments": "These could be such things as is wheelchair accessible.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "example",
          "description": "A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy)."
        }
      },
      {
        "path": "HealthcareService.referralMethod",
        "short": "Ways that the service accepts referrals",
        "definition": "Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "example",
          "description": "The methods of referral can be used when referring to a specific HealthCareService resource.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/service-referral-method"
          }
        }
      },
      {
        "path": "HealthcareService.publicKey",
        "short": "PKI Public keys to support secure communications",
        "definition": "The public part of the 'keys' allocated to an Organization by an accredited body to support secure exchange of data over the internet. To be provided by the Organization, where available.",
        "comments": "Note: This is a base64 encoded digital certificate.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "path": "HealthcareService.appointmentRequired",
        "short": "If an appointment is required for access to this service",
        "definition": "Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "path": "HealthcareService.availableTime",
        "short": "Times the Service Site is available",
        "definition": "A collection of times that the Service Site is available.",
        "comments": "More detailed availability information may be provided in associated Schedule/Slot resources.",
        "min": 0,
        "max": "*"
      },
      {
        "path": "HealthcareService.availableTime.daysOfWeek",
        "short": "mon | tue | wed | thu | fri | sat | sun",
        "definition": "Indicates which days of the week are available between the start and end Times.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "code"
          }
        ],
        "binding": {
          "strength": "required",
          "description": "The days of the week.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/days-of-week"
          }
        }
      },
      {
        "path": "HealthcareService.availableTime.allDay",
        "short": "Always available? e.g. 24 hour service",
        "definition": "Is this always available? (hence times are irrelevant) e.g. 24 hour service.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "path": "HealthcareService.availableTime.availableStartTime",
        "short": "Opening time of day (ignored if allDay = true)",
        "definition": "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.",
        "comments": "The timezone is expected to be for where this HealthcareService is provided at.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "time"
          }
        ]
      },
      {
        "path": "HealthcareService.availableTime.availableEndTime",
        "short": "Closing time of day (ignored if allDay = true)",
        "definition": "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.",
        "comments": "The timezone is expected to be for where this HealthcareService is provided at.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "time"
          }
        ]
      },
      {
        "path": "HealthcareService.notAvailable",
        "short": "Not available during this time due to provided reason",
        "definition": "The HealthcareService is not available during this period of time due to the provided reason.",
        "min": 0,
        "max": "*"
      },
      {
        "path": "HealthcareService.notAvailable.description",
        "short": "Reason presented to the user explaining why time not available",
        "definition": "The reason that can be presented to the user as to why this time is not available.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "path": "HealthcareService.notAvailable.during",
        "short": "Service not availablefrom this date",
        "definition": "Service is not available (seasonally or for a public holiday) from this date.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ]
      },
      {
        "path": "HealthcareService.availabilityExceptions",
        "short": "Description of availability exceptions",
        "definition": "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      }
    ]
  }
}