/
FHIR PSI extensions

FHIR PSI extensions

It is planned to have, at least, two extensions for the Patient resource:

  • 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)

    • Current expected values

  • 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)

    • Current expected values

 

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 Resource-operation-validate - FHIR v5.0.0

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):

<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

 

Related content