{
  "resourceType": "StructureDefinition",
  "id": "Endpoint",
  "meta": {
    "lastUpdated": "2021-01-01T21:58:31.578+00:00"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category",
      "valueString": "Base.Entities"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "trial-use"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 2
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category",
      "valueCode": "business"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "pa"
    },
    {
      "url": "http://hl7.org/fhir/build/StructureDefinition/entered-in-error-status",
      "valueCode": ".status=entered-in-error"
    }
  ],
  "url": "http://hl7.org/fhir/StructureDefinition/Endpoint",
  "version": "4.6.0",
  "name": "Endpoint",
  "status": "draft",
  "date": "2021-01-01T21:58:31+00:00",
  "publisher": "Health Level Seven International (Patient Administration)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        }
      ]
    },
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/pafm/index.cfm"
        }
      ]
    }
  ],
  "description": "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information.",
  "fhirVersion": "4.6.0",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Endpoint",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
  "derivation": "specialization",
  "differential": {
    "element": [
      {
        "id": "Endpoint",
        "extension": [
          {
            "url": "http://hl7.org/fhir/build/StructureDefinition/svg",
            "valueCode": "200,0"
          }
        ],
        "path": "Endpoint",
        "short": "The technical details of an endpoint that can be used for electronic services",
        "definition": "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information.",
        "min": 0,
        "max": "*",
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "w5",
            "map": "infrastructure.exchange"
          }
        ]
      },
      {
        "id": "Endpoint.identifier",
        "path": "Endpoint.identifier",
        "short": "Identifies this endpoint across multiple systems",
        "definition": "Identifier for the organization that is used to identify the endpoint across multiple disparate systems.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.identifier"
          },
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.status",
        "path": "Endpoint.status",
        "short": "active | suspended | error | off | entered-in-error | test",
        "definition": "active | suspended | error | off | test.",
        "comment": "This element is labeled as a modifier because the status contains codes that mark the endpoint as not currently valid.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isModifierReason": "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid",
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "EndpointStatus"
            }
          ],
          "strength": "required",
          "description": "The status of the endpoint.",
          "valueSet": "http://hl7.org/fhir/ValueSet/endpoint-status"
        },
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.status"
          },
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.connectionType",
        "path": "Endpoint.connectionType",
        "short": "Protocol/Profile/Standard to be used with this endpoint connection",
        "definition": "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).",
        "comment": "For additional connectivity details for the protocol, extensions will be used at this point, as in the XDS example.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Coding"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "endpoint-contype"
            }
          ],
          "strength": "extensible",
          "valueSet": "http://hl7.org/fhir/ValueSet/endpoint-connection-type"
        },
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.name",
        "path": "Endpoint.name",
        "short": "A name that this endpoint can be identified by",
        "definition": "A friendly name that this endpoint can be referred to with.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.what[x]"
          },
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.managingOrganization",
        "extension": [
          {
            "url": "http://hl7.org/fhir/build/StructureDefinition/committee-notes",
            "valueString": "This was left as 0..1 to permit small systems having an implied Organization."
          }
        ],
        "path": "Endpoint.managingOrganization",
        "short": "Organization that manages this endpoint (might not be the organization that exposes the endpoint)",
        "definition": "The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data).",
        "comment": "This property is not typically used when searching for Endpoint resources for usage. The typical usage is via the reference from an applicable Organization/Location/Practitioner resource, which is where the context is provided. Multiple Locations may reference a single endpoint, and don't have to be within the same organization resource, but most likely within the same organizational hierarchy.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Organization"
            ]
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.contact",
        "path": "Endpoint.contact",
        "short": "Contact details for source (e.g. troubleshooting)",
        "definition": "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "ContactPoint"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.period",
        "path": "Endpoint.period",
        "short": "Interval the endpoint is expected to be operational",
        "definition": "The interval during which the endpoint is expected to be operational.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.done[x]"
          },
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.payloadType",
        "path": "Endpoint.payloadType",
        "short": "The type of content that may be used at this endpoint (e.g. XDS Discharge summaries)",
        "definition": "The payload type describes the acceptable content that can be communicated on the endpoint.",
        "comment": "The payloadFormat describes the serialization format of the data, where the payloadType indicates the specific document/schema that is being transferred; e.g. DischargeSummary or CarePlan.",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "PayloadType"
            }
          ],
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/ValueSet/endpoint-payload-type"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.payloadMimeType",
        "path": "Endpoint.payloadMimeType",
        "short": "Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)",
        "definition": "The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType).",
        "comment": "Sending the payload has obvious security consequences. The server is responsible for ensuring that the content is appropriately secured.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "MimeType"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
              "valueBoolean": true
            },
            {
              "url": "http://hl7.org/fhir/build/StructureDefinition/definition",
              "valueString": "The mime type of an attachment. Any valid mime type is allowed."
            }
          ],
          "strength": "required",
          "description": "BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)",
          "valueSet": "http://hl7.org/fhir/ValueSet/mimetypes"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.address",
        "path": "Endpoint.address",
        "short": "The technical base address for connecting to this endpoint",
        "definition": "The uri that describes the actual end-point to connect to.",
        "comment": "For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since there may be more than one, clients should avoid using relative URIs)\n\nThis address will be to the service base, without any parameters, or sub-services or resources tacked on.\n\nE.g. for a WADO-RS endpoint, the url should be \"https://pacs.hospital.org/wado-rs\"\n\nand not \"https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/series/1.2.250.1.59.40211.789001276.14556172.67789/instances/...\".",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "url"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Endpoint.header",
        "path": "Endpoint.header",
        "short": "Usage depends on the channel type",
        "definition": "Additional headers / information to send as part of the notification.",
        "comment": "Exactly what these mean depends on the channel type. The can convey additional information to the recipient and/or meet security requirements.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": false
      }
    ]
  }
}