Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • PSI Global Extension for PSI Client Country. In order to link one client/patient to one country(potential URI https://standards.psi-mis.org/fhir/global/core/StructureDefinition/psi-client-country)

  • PSI Global Extension for PSI Client Project. In order to store the relation between a client (patient) and a project during a period of time. (potential URI https://standards.psi-mis.org/fhir/global/core/StructureDefinition/psi-project)

StructureDefinition as FHIR resource for profiles and extensions

A StructureDefinition is what you build when you build a profile/extension. The StructureDefinition contains rules about how a resource (or type) and its data elements are used in a particular context.

A StructureDefinition is a definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions, profiles and constraints on resources and data types.

A StructureDefinition could contain a differential statement, which describes the differences compared to the base structure.

How to add an extension or a profile

Send a POST request to StructureDefinition endpoint

FHIR validation

The validate operation ($validate) checks whether the attached content would be acceptable either generally, as a create, an update or as a delete to an existing resource. See more details in http://hl7.org/fhir/resource-operation-validate.html

For instance, send a POST request to https://fhir-dev.psi-mis.org/fhir/Patient/$validate with the Patient resource in JSON as body.

Any FHIR instance may declare it adheres to a StructureDefinition, by adding the canonical url (StructureDefinition.url) to the instances meta.profile as shown below. Servers may pick this up on a POST and validate the instance against the stated profile (http://example.org/StructureDefinition/PatientNL):

Code Block
  <Patient>
    <id value="44Q3"/>
    <meta>
      <profile value="http://example.org/StructureDefinition/PatientNL"/>
    </meta>
  </Patient>

Also, it could be an operation to a resource that it is already uploaded in the server:
https://fhir-dev.psi-mis.org/fhir/Patient/150/$validate