Skip to content

Organization Profile

Canonical../StructureDefinition/nexus-emr-core-organization
Statusdraft · 1.26.0
BaseOrganization (constraint)
SourceFSH · JSON

Generic Nexus EMR core profile for Organization, based on CA Core+. Designed to support a broad range of integration needs.

TypedFhir API / Pydantic schema

The typed accessor surface Organization exposes for Organization — generated from this IG's compiled profile; each typed accessor has a validating raw-FHIR twin (xRaw) where marked. The three ports are parity-enforced.

The AI-facing shape: from typed_fhir.facade.generated.schemas import OrganizationSchemamodel_json_schema() is a structured-output / tool definition; instantiating validates an extraction. Generated source.

class OrganizationSchema(BaseModel):
    """AI-facing shape of the Organization profile: the facade's typed accessor
    surface (curated + salient fields) as a pydantic model. `model_json_schema()` is a
    structured-output / tool schema; instantiating validates an extraction."""

    model_config = ConfigDict(extra="forbid")

    active: bool | None = Field(
        None,
        description=(
            "Whether the organization's record is active. Indicates whether the organization's "
            "record is in active use. When absent, the organization is assumed to be active. Set "
            "to false only when the organization is no longer operational or has been "
            "deactivated. Note: This active flag is not intended to be used to mark an "
            "organization as temporarily closed or under construction. Instead the Location(s) "
            "within the Organization should have the suspended status. If further details of the "
            "reason for the suspension are required, then an extension on this element should be "
            "used. This element is labeled as a modifier because it may be used to mark that the "
            "resource was created in error. Organization.active — 0..1"
        ),
    )
    type: Concept | None = Field(
        None,
        description=(
            "Kind of organization. The kind(s) of organization that this is. Note: Organizations "
            "can be corporations, wards, sections, clinical teams, government departments, etc. "
            "Note that code is generally a classifier of the type of organization; in many "
            "applications, codes are used to identity a particular organization (say, ward) as "
            "opposed to another of the same type - these are identifiers, not codes When "
            "considering if multiple types are appropriate, you should evaluate if child "
            "organizations would be a more appropriate use of the concept, as different types "
            "likely are in different sub-areas of the organization. This is most likely to be "
            "used where type values have orthogonal values, such as a religious, academic and "
            "medical center. We expect that some jurisdictions will profile this optionality to "
            "be a single cardinality. Organization.type — 0..*"
        ),
    )
    name: str | None = Field(
        None,
        description=(
            "Name used for the organization. The official or common name of the organization. "
            "This is typically the name used in formal communications and system displays. In "
            "rare occasions can be blank (Oscar, for example, could have a blank 'organization' "
            "filled out). Note: If the name of an organization changes, consider putting the old "
            "name in the alias column so that it can still be located through searches. "
            "Organization.name — 0..1"
        ),
    )
    telecom: dict | None = Field(
        None,
        description=(
            "Contact details for the organization. Telecommunication details for contacting the "
            "organization, including phone, fax, email, and other electronic communication "
            "methods. Note: The use code 'home' is not to be used. Note that these contacts are "
            "not the contact details of people who are employed by or represent the organization, "
            "but official contacts for the organization itself. Organization.telecom — 0..*"
        ),
    )
    address: dict | None = Field(
        None,
        description=(
            "Physical location(s) of the organization. Physical addresses where the organization "
            "operates or can receive mail. May include multiple locations for organizations with "
            "multiple sites. Note: Organization may have multiple addresses with different uses "
            "or applicable periods. The use code 'home' is not to be used. Organization.address — "
            "0..*"
        ),
    )