SEO.JSONLD.Patient (SEO v0.3.0-rc.0)

View Source

A patient is any person recipient of health care services.

Helper for building a Schema.org Patient JSON-LD structure.

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "Patient", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

Build a Patient JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:diagnosis) => SEO.JSONLD.MedicalCondition.t() | map(),
    optional(:drug) => SEO.JSONLD.Drug.t() | map(),
    optional(:health_condition) => SEO.JSONLD.MedicalCondition.t() | map(),
    optional(:additional_name) => String.t(),
    optional(:address) => String.t() | SEO.JSONLD.PostalAddress.t() | map(),
    optional(:affiliation) => SEO.JSONLD.Organization.t() | map(),
    optional(:agent_interaction_statistic) =>
      SEO.JSONLD.InteractionCounter.t() | map(),
    optional(:alumni_of) =>
      SEO.JSONLD.Organization.t()
      | map()
      | SEO.JSONLD.EducationalOrganization.t(),
    optional(:award) => String.t(),
    optional(:awards) => String.t(),
    optional(:birth_date) => Date.t() | String.t(),
    optional(:birth_place) => SEO.JSONLD.Place.t() | map(),
    optional(:brand) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Brand.t(),
    optional(:call_sign) => String.t(),
    optional(:children) => SEO.JSONLD.Person.t() | map(),
    optional(:colleague) =>
      SEO.JSONLD.Person.t() | map() | URI.t() | String.t(),
    optional(:colleagues) => SEO.JSONLD.Person.t() | map(),
    optional(:contact_point) => SEO.JSONLD.ContactPoint.t() | map(),
    optional(:contact_points) => SEO.JSONLD.ContactPoint.t() | map(),
    optional(:death_date) => Date.t() | String.t(),
    optional(:death_place) => SEO.JSONLD.Place.t() | map(),
    optional(:duns) => String.t(),
    optional(:email) => String.t(),
    optional(:family_name) => String.t(),
    optional(:fax_number) => String.t(),
    optional(:follows) => SEO.JSONLD.Person.t() | map(),
    optional(:funder) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:funding) => SEO.JSONLD.Grant.t() | map(),
    optional(:gender) => String.t() | :female | :male,
    optional(:given_name) => String.t(),
    optional(:global_location_number) => String.t(),
    optional(:has_certification) => SEO.JSONLD.Certification.t() | map(),
    optional(:has_credential) => SEO.JSONLD.Credential.t() | map(),
    optional(:has_occupation) => SEO.JSONLD.Occupation.t() | map(),
    optional(:has_offer_catalog) => SEO.JSONLD.OfferCatalog.t() | map(),
    optional(:has_pos) => SEO.JSONLD.Place.t() | map(),
    optional(:height) => SEO.JSONLD.QuantitativeValue.t() | map(),
    optional(:home_location) =>
      SEO.JSONLD.Place.t() | map() | SEO.JSONLD.ContactPoint.t(),
    optional(:honorific_prefix) => String.t(),
    optional(:honorific_suffix) => String.t(),
    optional(:interaction_statistic) =>
      SEO.JSONLD.InteractionCounter.t() | map(),
    optional(:isic_v4) => String.t(),
    optional(:job_title) => String.t() | SEO.JSONLD.DefinedTerm.t() | map(),
    optional(:knows) => SEO.JSONLD.Person.t() | map(),
    optional(:knows_about) =>
      String.t() | URI.t() | SEO.JSONLD.Thing.t() | map(),
    optional(:knows_language) => String.t() | SEO.JSONLD.Language.t() | map(),
    optional(:life_event) => SEO.JSONLD.Event.t() | map(),
    optional(:makes_offer) => SEO.JSONLD.Offer.t() | map(),
    optional(:member_of) =>
      SEO.JSONLD.ProgramMembership.t()
      | map()
      | SEO.JSONLD.Organization.t()
      | SEO.JSONLD.MemberProgramTier.t(),
    optional(:naics) => String.t(),
    optional(:nationality) => SEO.JSONLD.Country.t() | map(),
    optional(:net_worth) =>
      SEO.JSONLD.PriceSpecification.t() | map() | SEO.JSONLD.MonetaryAmount.t(),
    optional(:owns) => SEO.JSONLD.Thing.t() | map(),
    optional(:parent) => SEO.JSONLD.Person.t() | map(),
    optional(:parents) => SEO.JSONLD.Person.t() | map(),
    optional(:performer_in) => SEO.JSONLD.Event.t() | map(),
    optional(:pronouns) =>
      SEO.JSONLD.DefinedTerm.t()
      | map()
      | SEO.JSONLD.StructuredValue.t()
      | String.t(),
    optional(:publishing_principles) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:related_to) => SEO.JSONLD.Person.t() | map(),
    optional(:seeks) => SEO.JSONLD.Demand.t() | map(),
    optional(:sibling) => SEO.JSONLD.Person.t() | map(),
    optional(:siblings) => SEO.JSONLD.Person.t() | map(),
    optional(:skills) => String.t() | SEO.JSONLD.DefinedTerm.t() | map(),
    optional(:sponsor) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:spouse) => SEO.JSONLD.Person.t() | map(),
    optional(:tax_id) => String.t(),
    optional(:telephone) => String.t(),
    optional(:vat_id) => String.t(),
    optional(:weight) => SEO.JSONLD.QuantitativeValue.t() | map(),
    optional(:work_location) =>
      SEO.JSONLD.Place.t() | map() | SEO.JSONLD.ContactPoint.t(),
    optional(:works_for) => SEO.JSONLD.Organization.t() | map(),
    optional(:audience_type) => String.t(),
    optional(:geographic_area) => SEO.JSONLD.AdministrativeArea.t() | map(),
    optional(:required_gender) => String.t(),
    optional(:required_max_age) => integer(),
    optional(:required_min_age) => integer(),
    optional(:suggested_age) => SEO.JSONLD.QuantitativeValue.t() | map(),
    optional(:suggested_gender) => String.t() | :female | :male,
    optional(:suggested_max_age) => number(),
    optional(:suggested_measurement) =>
      SEO.JSONLD.QuantitativeValue.t() | map(),
    optional(:suggested_min_age) => number(),
    optional(:additional_type) => String.t() | URI.t(),
    optional(:alternate_name) => String.t(),
    optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(),
    optional(:disambiguating_description) => String.t(),
    optional(:identifier) =>
      String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
    optional(:image) =>
      URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
    optional(:main_entity_of_page) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:name) => String.t(),
    optional(:owner) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:potential_action) => SEO.JSONLD.Action.t() | map(),
    optional(:same_as) => URI.t() | String.t(),
    optional(:subject_of) =>
      SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
    optional(:url) => URI.t() | String.t()
  }
  | [
      diagnosis: SEO.JSONLD.MedicalCondition.t() | map(),
      drug: SEO.JSONLD.Drug.t() | map(),
      health_condition: SEO.JSONLD.MedicalCondition.t() | map(),
      additional_name: String.t(),
      address: String.t() | SEO.JSONLD.PostalAddress.t() | map(),
      affiliation: SEO.JSONLD.Organization.t() | map(),
      agent_interaction_statistic: SEO.JSONLD.InteractionCounter.t() | map(),
      alumni_of:
        SEO.JSONLD.Organization.t()
        | map()
        | SEO.JSONLD.EducationalOrganization.t(),
      award: String.t(),
      awards: String.t(),
      birth_date: Date.t() | String.t(),
      birth_place: SEO.JSONLD.Place.t() | map(),
      brand: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Brand.t(),
      call_sign: String.t(),
      children: SEO.JSONLD.Person.t() | map(),
      colleague: SEO.JSONLD.Person.t() | map() | URI.t() | String.t(),
      colleagues: SEO.JSONLD.Person.t() | map(),
      contact_point: SEO.JSONLD.ContactPoint.t() | map(),
      contact_points: SEO.JSONLD.ContactPoint.t() | map(),
      death_date: Date.t() | String.t(),
      death_place: SEO.JSONLD.Place.t() | map(),
      duns: String.t(),
      email: String.t(),
      family_name: String.t(),
      fax_number: String.t(),
      follows: SEO.JSONLD.Person.t() | map(),
      funder: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      funding: SEO.JSONLD.Grant.t() | map(),
      gender: String.t() | :female | :male,
      given_name: String.t(),
      global_location_number: String.t(),
      has_certification: SEO.JSONLD.Certification.t() | map(),
      has_credential: SEO.JSONLD.Credential.t() | map(),
      has_occupation: SEO.JSONLD.Occupation.t() | map(),
      has_offer_catalog: SEO.JSONLD.OfferCatalog.t() | map(),
      has_pos: SEO.JSONLD.Place.t() | map(),
      height: SEO.JSONLD.QuantitativeValue.t() | map(),
      home_location: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.ContactPoint.t(),
      honorific_prefix: String.t(),
      honorific_suffix: String.t(),
      interaction_statistic: SEO.JSONLD.InteractionCounter.t() | map(),
      isic_v4: String.t(),
      job_title: String.t() | SEO.JSONLD.DefinedTerm.t() | map(),
      knows: SEO.JSONLD.Person.t() | map(),
      knows_about: String.t() | URI.t() | SEO.JSONLD.Thing.t() | map(),
      knows_language: String.t() | SEO.JSONLD.Language.t() | map(),
      life_event: SEO.JSONLD.Event.t() | map(),
      makes_offer: SEO.JSONLD.Offer.t() | map(),
      member_of:
        SEO.JSONLD.ProgramMembership.t()
        | map()
        | SEO.JSONLD.Organization.t()
        | SEO.JSONLD.MemberProgramTier.t(),
      naics: String.t(),
      nationality: SEO.JSONLD.Country.t() | map(),
      net_worth:
        SEO.JSONLD.PriceSpecification.t()
        | map()
        | SEO.JSONLD.MonetaryAmount.t(),
      owns: SEO.JSONLD.Thing.t() | map(),
      parent: SEO.JSONLD.Person.t() | map(),
      parents: SEO.JSONLD.Person.t() | map(),
      performer_in: SEO.JSONLD.Event.t() | map(),
      pronouns:
        SEO.JSONLD.DefinedTerm.t()
        | map()
        | SEO.JSONLD.StructuredValue.t()
        | String.t(),
      publishing_principles:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      related_to: SEO.JSONLD.Person.t() | map(),
      seeks: SEO.JSONLD.Demand.t() | map(),
      sibling: SEO.JSONLD.Person.t() | map(),
      siblings: SEO.JSONLD.Person.t() | map(),
      skills: String.t() | SEO.JSONLD.DefinedTerm.t() | map(),
      sponsor: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      spouse: SEO.JSONLD.Person.t() | map(),
      tax_id: String.t(),
      telephone: String.t(),
      vat_id: String.t(),
      weight: SEO.JSONLD.QuantitativeValue.t() | map(),
      work_location: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.ContactPoint.t(),
      works_for: SEO.JSONLD.Organization.t() | map(),
      audience_type: String.t(),
      geographic_area: SEO.JSONLD.AdministrativeArea.t() | map(),
      required_gender: String.t(),
      required_max_age: integer(),
      required_min_age: integer(),
      suggested_age: SEO.JSONLD.QuantitativeValue.t() | map(),
      suggested_gender: String.t() | :female | :male,
      suggested_max_age: number(),
      suggested_measurement: SEO.JSONLD.QuantitativeValue.t() | map(),
      suggested_min_age: number(),
      additional_type: String.t() | URI.t(),
      alternate_name: String.t(),
      description: SEO.JSONLD.TextObject.t() | map() | String.t(),
      disambiguating_description: String.t(),
      identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
      image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
      main_entity_of_page:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      name: String.t(),
      owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      potential_action: SEO.JSONLD.Action.t() | map(),
      same_as: URI.t() | String.t(),
      subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
      url: URI.t() | String.t()
    ]

t()

@type t() :: %{required(String.t()) => term()}

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "Patient", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

build(attrs)

@spec build(attrs()) :: t()

Build a Patient JSON-LD map.

Fields

  • :diagnosis - One or more alternative conditions considered in the differential diagnosis process as output of a diagnosis process.
  • :drug - Specifying a drug or medicine used in a medication procedure.
  • :health_condition - Specifying the health condition(s) of a patient, medical study, or other target audience.

Inherited properties

Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: