All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eedm.personal-relationships.v16.0.0.personal-relationships.json Maven / Gradle / Ivy

{
  "title" : "Personal Relationships",
  "description" : "The relationships between two people.",
  "version" : "16.0.0",
  "type" : "object",
  "properties" : {
    "metadata" : {
      "$ref" : "resource:/eedm/metadata.json"
    },
    "id" : {
      "title" : "ID",
      "description" : "The global identifier of the personal relationship.",
      "type" : "string",
      "format" : "guid",
      "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
    },
    "subjectPerson" : {
      "title" : "Subject Person",
      "description" : "The primary person for whom the relationship is described.",
      "type" : "object",
      "properties" : {
        "id" : {
          "title" : "ID",
          "description" : "The global identifier for the Subject Person.",
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      },
      "links" : [ {
        "rel" : "self",
        "href" : "/persons/{id}",
        "targetSchema" : {
          "$ref" : "persons.json#"
        }
      } ],
      "additionalProperties" : false,
      "required" : [ "id" ]
    },
    "related" : {
      "title" : "Related",
      "description" : "The person who has the relationship with the subject person.",
      "oneOf" : [ {
        "title" : "Person",
        "description" : "The person who has the relationship with the subject person.",
        "type" : "object",
        "properties" : {
          "person" : {
            "title" : "Person",
            "description" : "The person who has the relationship with the subject person.",
            "type" : "object",
            "properties" : {
              "id" : {
                "title" : "ID",
                "description" : "The global identifier for the Person.",
                "type" : "string",
                "format" : "guid",
                "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
              }
            },
            "links" : [ {
              "rel" : "self",
              "href" : "/persons/{id}",
              "targetSchema" : {
                "$ref" : "persons.json#"
              }
            } ],
            "additionalProperties" : false,
            "required" : [ "id" ]
          }
        },
        "additionalProperties" : false,
        "required" : [ "person" ]
      }, {
        "title" : "Person Details",
        "description" : "The person who has the relationship with the subject person.",
        "type" : "object",
        "properties" : {
          "firstName" : {
            "title" : "First Name",
            "description" : "The first name of the related person.",
            "type" : "string",
            "minLength" : 1
          },
          "middleName" : {
            "title" : "Middle Name",
            "description" : "The middle name of the related person.",
            "type" : "string"
          },
          "lastName" : {
            "title" : "Last Name",
            "description" : "The last name of the related person.",
            "type" : "string",
            "minLength" : 1
          },
          "contactAddressType" : {
            "title" : "Contact Address Type",
            "description" : "The subject person's address type to be associated with the related person.",
            "oneOf" : [ {
              "type" : "object",
              "properties" : {
                "id" : {
                  "title" : "ID",
                  "description" : "The global identifier for the Contact Address Type.",
                  "type" : "string",
                  "format" : "guid",
                  "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
                }
              },
              "links" : [ {
                "rel" : "self",
                "href" : "/address-types/{id}",
                "targetSchema" : {
                  "$ref" : "address-types.json#"
                }
              } ],
              "additionalProperties" : false,
              "required" : [ "id" ]
            }, {
              "type" : "object",
              "maxProperties" : 0
            } ]
          }
        },
        "additionalProperties" : false,
        "required" : [ "firstName", "lastName" ]
      } ]
    },
    "directRelationshipType" : {
      "title" : "Direct Relationship Type",
      "description" : "The subject person's relationship type with the related person.",
      "oneOf" : [ {
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Direct Relationship Type.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/relationship-types/{id}",
          "targetSchema" : {
            "$ref" : "relationship-types.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    },
    "reciprocalRelationshipType" : {
      "title" : "Reciprocal Relationship Type",
      "description" : "The related person's relationship type with the subject person.",
      "oneOf" : [ {
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Reciprocal Relationship Type.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/relationship-types/{id}",
          "targetSchema" : {
            "$ref" : "relationship-types.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    },
    "status" : {
      "title" : "Status",
      "description" : "The status of the personal relationship.",
      "oneOf" : [ {
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Status.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/relationship-statuses/{id}",
          "targetSchema" : {
            "$ref" : "relationship-statuses.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    },
    "startOn" : {
      "title" : "Start On",
      "description" : "The date when the relationship started.",
      "oneOf" : [ {
        "type" : "string",
        "format" : "date",
        "pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])$"
      }, {
        "type" : "string",
        "maxLength" : 0
      } ]
    },
    "endOn" : {
      "title" : "End On",
      "description" : "The date when the relationship ended.",
      "oneOf" : [ {
        "type" : "string",
        "format" : "date",
        "pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])$"
      }, {
        "type" : "string",
        "maxLength" : 0
      } ]
    },
    "comment" : {
      "title" : "Comment",
      "description" : "The comment on the relationship.",
      "type" : "string"
    }
  },
  "required" : [ "id", "subjectPerson", "related" ],
  "additionalProperties" : false,
  "links" : [ {
    "rel" : "namedQuery",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/personal-relationships?person={\"person\": {\"id\": $id}}",
    "name" : "person",
    "title" : "Person",
    "description" : "Filter to return subject person and/or related person.",
    "schema" : {
      "type" : "object",
      "properties" : {
        "person" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      }
    },
    "targetSchema" : {
      "$ref" : "personal-relationships.json#"
    }
  }, {
    "rel" : "namedQuery",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/personal-relationships?relationshipType={\"relationshipType\": {\"id\": $id}}",
    "name" : "relationshipType",
    "title" : "Relationship Type",
    "description" : "Filter to return the direct and/or reciprocal relationship type.",
    "schema" : {
      "type" : "object",
      "properties" : {
        "relationshipType" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      }
    },
    "targetSchema" : {
      "$ref" : "personal-relationships.json#"
    }
  }, {
    "rel" : "namedQuery",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/personal-relationships?personFilter={\"personFilter\": {\"id\": $id}}",
    "name" : "personFilter",
    "title" : "Person Filter",
    "description" : "Retrieve information for a specified population",
    "schema" : {
      "type" : "object",
      "properties" : {
        "personFilter" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      }
    },
    "targetSchema" : {
      "$ref" : "personal-relationships.json#"
    }
  } ]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy