FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packagehelsenorge.profiler
Resource TypeStructureDefinition
IdStructureDefinition-hn-basis-appointment (2).json
FHIR VersionR4
Sourcehttps://simplifier.net/resolve?scope=helsenorge.profiler@2.0.3&canonical=http://example.org/StructureDefinition/hn-basis-appointment
URLhttp://example.org/StructureDefinition/hn-basis-appointment
Version2.0.0
Statusdraft
NameHnBasisAppointment
Titlehn-basis-appointment
DescriptionBase profile for Helsenorge Appointment information. Defined by Helsenorge based on national profile.
TypeAppointment
Kindresource

Resources that use this resource

No resources found


Resources that this resource uses

StructureDefinition
no.nhn.fhir.helsenorge.profiles#2.0.1-betahn-basis-Recurringhn-basis-recurring
no.nhn.fhir.helsenorge.profiles#2.0.1-betahn-basis-consultationTypehn-basis-consultationType
no.nhn.fhir.helsenorge.profiles#2.0.1-betahn-basis-postponementreasonhn-basis-postponementreason
test.no.basis#2.2.0-beta3no-basis-Appointmentno-basis-Appointment
test.no.basis#2.2.0-beta3no-basis-HealthcareServiceno-basis-HealthcareService
test.no.basis#2.2.0-beta3no-basis-Locationno-basis-Location
test.no.basis#2.2.0-beta3no-basis-Organizationno-basis-Organization
test.no.basis#2.2.0-beta3no-basis-Patientno-basis-Patient
test.no.basis#2.2.0-beta3no-basis-Practitionerno-basis-Practitioner
test.no.basis#2.2.0-beta3no-basis-PractitionerRoleno-basis-PractitionerRole
test.no.basis#2.2.0-beta3no-basis-RelatedPersonno-basis-RelatedPerson
ValueSet
no.nhn.fhir.helsenorge.profiles#2.0.1-betahn-appointment-AppointmentType-code-vshn-appointment-AppointmentType-code-vs
helsenorge.profiler#2.0.3hn-appointment-ServiceCategory-code-vshn-appointment-ServiceCategory-code-vs
no.nhn.fhir.helsenorge.profiles#2.0.1-betahn-basis-virtual-service-type.valuesetHn Basis VirtualServiceType Value Set

Narrative

No narrative content found in resource


Source1

{
  "resourceType": "StructureDefinition",
  "id": "hn-basis-appointment",
  "url": "http://example.org/StructureDefinition/hn-basis-appointment",
  "version": "2.0.0",
  "name": "HnBasisAppointment",
  "title": "hn-basis-appointment",
  "status": "draft",
  "description": "Base profile for Helsenorge Appointment information. Defined by Helsenorge based on national profile.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Appointment",
  "baseDefinition": "http://hl7.no/fhir/StructureDefinition/no-basis-Appointment",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Appointment",
        "path": "Appointment",
        "constraint": [
          {
            "key": "cancelationReason-inv",
            "human": "Cancelation reason MUST be set when status=cancelled and serviceCategory=27 or 30 (that is Specialist Medical or Radiology)",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "(status = 'canceled' and (serviceCategory.coding.code = '27' or serviceCategory.coding.code = '30')) implies cancelationReason.exists()"
          },
          {
            "key": "contained-location-must-have-managingorganization",
            "human": "Contained location must have managing organization",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())"
          }
        ]
      },
      {
        "id": "Appointment.meta",
        "path": "Appointment.meta",
        "short": "Information about use of metadata in FHIR resources in helsenorge:",
        "definition": "Information about use of metadata in FHIR resources in helsenorge: <https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/743014401/Meta+informasjon+som+kan+benyttes+for+alle+FHIR+ressurser>. Se list of metadata that is to be used in context of an appointment:<https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/2052685825/Draft+-+Timenotifikasjon.+Ny+nasjonal+timel+sning#Appointment%3A-Metadata>. \n suppressNotification: Use for suppressing notification \n reminder: Used to define if reminders is active. \n hasAppointmentDetail: Tels if there is more information available regarding the appointment. If used Helsenorge will try to get the details from communication part. CommunicationPart must support that the details can be pulled. \n supportPatientDialog: Patient dialog supported \n and childParentRestrictons: setting posible restriction if parents are to get information about the appointment or only the child."
      },
      {
        "id": "Appointment.meta.lastUpdated",
        "path": "Appointment.meta.lastUpdated",
        "short": "LastUpdated should always be present",
        "definition": "LastUpdated should always be present to show when the resource was created or changed",
        "comment": "This value is always populated. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a read interaction.",
        "min": 1
      },
      {
        "id": "Appointment.implicitRules",
        "path": "Appointment.implicitRules",
        "max": "0"
      },
      {
        "id": "Appointment.language",
        "path": "Appointment.language",
        "max": "0"
      },
      {
        "id": "Appointment.text",
        "path": "Appointment.text",
        "max": "0"
      },
      {
        "id": "Appointment.extension:virtualService",
        "path": "Appointment.extension",
        "sliceName": "virtualService"
      },
      {
        "id": "Appointment.extension:virtualService.extension:channelType",
        "path": "Appointment.extension.extension",
        "sliceName": "channelType"
      },
      {
        "id": "Appointment.extension:virtualService.extension:channelType.value[x]",
        "path": "Appointment.extension.extension.value[x]",
        "binding": {
          "strength": "required",
          "valueSet": "http://helsenorge.no/fhir/ValueSet/hn-basis-virtual-service-type.valueset"
        }
      },
      {
        "id": "Appointment.extension:recurring",
        "path": "Appointment.extension",
        "sliceName": "recurring",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Appointment.extension:postponementReason",
        "path": "Appointment.extension",
        "sliceName": "postponementReason",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://helsenorge.no/fhir/StructureDefinition/hn-basis-postponementreason"
            ]
          }
        ]
      },
      {
        "id": "Appointment.extension:consultationType",
        "path": "Appointment.extension",
        "sliceName": "consultationType",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://helsenorge.no/fhir/StructureDefinition/hn-basis-consultationType"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Appointment.identifier",
        "path": "Appointment.identifier",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.identifier.system",
        "path": "Appointment.identifier.system",
        "min": 1
      },
      {
        "id": "Appointment.identifier.value",
        "path": "Appointment.identifier.value",
        "min": 1
      },
      {
        "id": "Appointment.identifier.assigner",
        "path": "Appointment.identifier.assigner",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Organization",
              "http://hl7.no/fhir/StructureDefinition/no-basis-Organization"
            ]
          }
        ]
      },
      {
        "id": "Appointment.status",
        "path": "Appointment.status",
        "binding": {
          "strength": "required",
          "valueSet": "http://example.org/ValueSet/my-appointment-status-vs"
        }
      },
      {
        "id": "Appointment.cancelationReason",
        "path": "Appointment.cancelationReason",
        "short": "Reason for cancelation",
        "definition": "Volven 8445 is a preferred code system but other code systems as Volven 9179 can also be used",
        "binding": {
          "strength": "preferred",
          "valueSet": "urn:oid:2.16.578.1.12.4.1.1.8445"
        }
      },
      {
        "id": "Appointment.cancelationReason.coding",
        "path": "Appointment.cancelationReason.coding",
        "constraint": [
          {
            "key": "inv-4",
            "human": "If code is used in a codable consept the system must be used",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "code > '' implies (system > '' )"
          }
        ]
      },
      {
        "id": "Appointment.serviceCategory",
        "path": "Appointment.serviceCategory",
        "min": 1,
        "max": "1",
        "binding": {
          "strength": "required",
          "valueSet": "http://helsenorge.no/fhir/ValueSet/hn-appointment-ServiceCategory-code-vs"
        }
      },
      {
        "id": "Appointment.serviceCategory.coding",
        "path": "Appointment.serviceCategory.coding",
        "constraint": [
          {
            "key": "inv-4",
            "human": "If code is used in a codable consept the system must be used",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "code > '' implies (system > '' )"
          }
        ]
      },
      {
        "id": "Appointment.serviceType",
        "path": "Appointment.serviceType",
        "max": "0"
      },
      {
        "id": "Appointment.serviceType.coding",
        "path": "Appointment.serviceType.coding",
        "constraint": [
          {
            "key": "inv-4",
            "human": "If code is used in a codable consept the system must be used",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "code > '' implies (system > '' )"
          }
        ]
      },
      {
        "id": "Appointment.specialty",
        "path": "Appointment.specialty",
        "max": "0"
      },
      {
        "id": "Appointment.specialty.coding",
        "path": "Appointment.specialty.coding",
        "constraint": [
          {
            "key": "inv-4",
            "human": "If code is used in a codable consept the system must be used",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "code > '' implies (system > '' )"
          }
        ]
      },
      {
        "id": "Appointment.appointmentType",
        "path": "Appointment.appointmentType",
        "min": 1
      },
      {
        "id": "Appointment.appointmentType.coding",
        "path": "Appointment.appointmentType.coding",
        "constraint": [
          {
            "key": "inv-4",
            "human": "If code is used in a codable consept the system must be used",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "code > '' implies (system > '' )"
          }
        ]
      },
      {
        "id": "Appointment.appointmentType.coding:helsenorge",
        "path": "Appointment.appointmentType.coding",
        "sliceName": "helsenorge",
        "short": "Codes from value set",
        "definition": "Codes from value set",
        "min": 0,
        "max": "1",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://helsenorge.no/fhir/ValueSet/hn-appointment-AppointmentType-code-vs"
        }
      },
      {
        "id": "Appointment.reasonCode.coding",
        "path": "Appointment.reasonCode.coding",
        "constraint": [
          {
            "key": "inv-4",
            "human": "If code is used in a codable consept the system must be used",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "code > '' implies (system > '' )"
          }
        ]
      },
      {
        "id": "Appointment.reasonReference",
        "path": "Appointment.reasonReference",
        "max": "0"
      },
      {
        "id": "Appointment.priority",
        "path": "Appointment.priority",
        "max": "0"
      },
      {
        "id": "Appointment.description",
        "path": "Appointment.description",
        "constraint": [
          {
            "key": "must-be-max-1000-chars",
            "human": "Length MUST be <= 1000",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "$this.length() <= 1000"
          }
        ]
      },
      {
        "id": "Appointment.supportingInformation",
        "path": "Appointment.supportingInformation",
        "short": "Spesial instructions for use.",
        "definition": "Spesial instructions for use: Se <https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/2052685825/Draft+-+Timenotifikasjon.+Ny+nasjonal+timel+sning> SuportingInformation MUST at least refer to communication part (herid level 2) using Organization profile kommunikasjonspart-Organization (<https://simplifier.net/hl7norwayno-basis/kommunikasjonspart-organization>) ",
        "min": 1
      },
      {
        "id": "Appointment.start",
        "path": "Appointment.start",
        "min": 1
      },
      {
        "id": "Appointment.slot",
        "path": "Appointment.slot",
        "max": "0"
      },
      {
        "id": "Appointment.comment",
        "path": "Appointment.comment",
        "max": "0"
      },
      {
        "id": "Appointment.patientInstruction",
        "path": "Appointment.patientInstruction",
        "constraint": [
          {
            "key": "must-be-max-1000-chars",
            "human": "Length MUST be <= 1000",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "$this.length() <= 1000"
          }
        ]
      },
      {
        "id": "Appointment.participant",
        "path": "Appointment.participant",
        "constraint": [
          {
            "key": "appointment-participant-actor-patient-reference-identifier",
            "human": "When actor is a Patient logical reference MUST be used",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "warning",
            "expression": "actor.type = 'Patient' implies actor.identifier.exists()"
          },
          {
            "key": "appointment-participant-actor-patient-reference-reference",
            "human": "When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "warning",
            "expression": "(actor.type = 'Patient') implies actor.reference.exists().not()"
          }
        ]
      },
      {
        "id": "Appointment.participant.type.coding",
        "path": "Appointment.participant.type.coding",
        "constraint": [
          {
            "key": "inv-4",
            "human": "If code is used in a codable consept the system must be used",
            "source": "http://example.org/StructureDefinition/hn-basis-appointment",
            "severity": "error",
            "expression": "code > '' implies (system > '' )"
          }
        ]
      },
      {
        "id": "Appointment.participant.actor",
        "path": "Appointment.participant.actor",
        "short": "When actor is a Patient logical reference MUST be used",
        "definition": "When actor is a Patient only logical reference MUST be used. In all other cases Logical, Literal reference, Relative, internal or absolute URL can be used",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.no/fhir/StructureDefinition/no-basis-Patient",
              "http://hl7.no/fhir/StructureDefinition/no-basis-Practitioner",
              "http://hl7.no/fhir/StructureDefinition/no-basis-PractitionerRole",
              "http://hl7.no/fhir/StructureDefinition/no-basis-Location",
              "http://hl7.no/fhir/StructureDefinition/no-basis-RelatedPerson",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "http://hl7.no/fhir/StructureDefinition/no-basis-HealthcareService"
            ]
          }
        ]
      },
      {
        "id": "Appointment.requestedPeriod",
        "path": "Appointment.requestedPeriod",
        "max": "0"
      }
    ]
  }
}