PhPID related resources

Resource examples

Substance Definitions

Substances are modeled as 'Substance Definition' resources in the GSRS system and referenced both in the request Task and in the resulting PhPID

GET
Febuxostat (xml/html)

GET
Febuxostat magnesium (xml/html)

Administrable Product Definitions

GET
AdministrableProductDefinition resource (PhPID) (xml/html)

Medicinal Product Definitions

GET
Pilo with PhPID (xml/html)

Searching

Searching for an AdministrableProductDefinition

Search by substance (Pilocarpine hydrochloride):

GET
Try it out

Here we use the search parameter _has:Ingredient:for:substance-code=UTGSID1K536H6KV06RU.

Search by parent PhPID (i.e. searching all PhPIDs that has a specific level1, 2, or 3 PhPID as parent):

GET
AdministrableProductDefinition?parent-php=UTPHPID3NM25C6JAT86GD

or we can explicitly specify the system

GET
AdministrableProductDefinition?parent-php:identifier=http://poc.umcterminologies.org/phpid|UTPHPID3NM25C6JAT86GD

Search by MedicinalProductId

GET
AdministrableProductDefinition?form-of.identifier=UMCPIDFRA7A47UB9N7EG8P

Here we use the search parameter 'form-of.identifier=[MPID]'

The identifier can also be specified as 'form-of.identifier=[System|MPID]'

Searching for substances

Search by id:

GET
SubstanceDefinition?_id=UTGSID5N1BMM2Y0H419

Search by name:

GET
SubstanceDefinition?name=Febux

Search by code:

GET
SubstanceDefinition?code=AGG2FN16EV

Searching for a MedicinalProductDefinition

To search for a MedicinalProductDefinition representing an MPID we need to search that resource, specifying what AdministrableProductDefinition it is connected to via the formOf attribute according to the following example:

idmp/MedicinalProductDefinition?_has:AdministrableProductDefinition:form-of:identifier=[PhPId]

GET
MedicinalProductDefinition?_has:AdminstrableProductDefinition:form-of:identifier=91B3CA582581F57E4092F13AAF476215

When searching for a MedicinalProductDefinition using an Id or Identifier we simply use the format _id=[productId] or identifier=[MPID].

In the current implementation Id and Identifier is often (but not always) the same but Id should be the Id of the resource in the UMC system (WHODrug Product Id) while the Identifier should be the national IDMP MPID.

The following two examples actually retrieve the same resource.

Search by id:

GET
MedicinalProductDefinition?_id=UMCPIDFRA7A47UB9N7EG8P

Search by identifier:

GET
MedicinalProductDefinition?identifier=http://hl7.org/fhir/sid/ndc|51672-4005

Retrieving a depricated MedicinalProductDefinition

Variant 1: Show the retired record and point to the new one using an extension.

GET
UMCPIDCHE24XUA1G7C9AZW (xml/html)

Variant 2: Return the retired record and also use the HTTP Code 301 and a location header. In most browsers this should automatically redirect to the replacement recource.

GET
UMCPIDCHE7JXC98TDZ76L8 (xml/html)

In this example the request for UMCPIDCHE7JXC98TDZ76L8 will be redirected to UMCPIDCHE9KRG577M6KM12.

Xml or json?

Any resource can be returned either as xml or json. This is defined using an accept header or by a query string parameter as follows:

GET
Febuxostat on json format (default)

GET
Febuxostat on xml format

Resource definitions (from HL7)

The PhPID resource (AdministrableProductDefinition).

GET
Administrable Product Definition

The Medicinal Product resource used to validate the request (MedicinalProductDefinition).

GET
Medicinal Product Definition

The Substance resource (SubstanceDefinition)

GET
Substance definition

The Organization resource

GET
Organization definition

The Task resource (used for PhPID and GSID requests)

GET
Task definition